Dasar HTTP

Permintaan & respons

Baca input, header, cookie, dan body, lalu hasilkan JSON, redirect, tampilan, unduhan, atau stream.

Beta · v0.2.0API Lanjit masih dapat berubah sebelum versi stabil. Periksa catatan rilis dan panduan peningkatan sebelum memperbarui.

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');
Edit halaman ini di GitHub

Ketik untuk mencari di seluruh dokumentasi.