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, danpath.querydanparams.headersdancookies.routeuntuk metadata route yang cocok.rawuntuk 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.
Cookie
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');