Dasar HTTP

Request & response

Baca input, header, cookie, body, dan hasilkan JSON, redirect, view, download, atau stream.

Setiap handler menerima object Request dan dapat memakai object Response untuk mengontrol respons HTTP.

Membaca request

Route.post('/profile/{user}', async (request, response) => {
  const userId = request.params.user;
  const page = request.input('page', 1);
  const token = request.header('authorization');
  const sessionId = request.cookies.lanjit_session;
  const payload = await request.all();

  return response.json({ userId, page, token, sessionId, payload });
});

Property penting pada request:

  • method, url, dan path.
  • query dan params.
  • headers dan cookies.
  • route untuk metadata route yang cocok.
  • raw untuk object request Node.js asli.

Body request

request.body() membaca JSON, form URL-encoded, atau text. Ukuran body dibatasi oleh config/http.js dan menghasilkan status 413 ketika melewati batas.

const body = await request.body();

Mengirim respons

response.status(201).json({ created: true });
response.header('X-Request-Id', requestId).send('Selesai');
response.redirect('/dashboard');

Object non-Buffer yang diberikan ke send() otomatis dikirim sebagai JSON.

response.cookie('theme', 'dark', {
  maxAge: 60 * 60 * 24 * 30,
  secure: true,
  sameSite: 'Lax',
});

response.forgetCookie('theme');

Cookie memakai HttpOnly dan path / secara default.

File dan stream

response.download(app.path('storage/app/report.pdf'), 'laporan.pdf');
response.stream(readable, 'text/csv; charset=utf-8');

Ketik untuk mencari di seluruh dokumentasi.