Docs
Routing
Customizing Response
Customizing Response
#Prewrite
prewrite
helps you customize res.send
.
WARNING
res.end doesn't supportusePrewrite
. Use res.send instead.It can be used directly in page files, and can also be used in middleware and plugins.
Typescript
import { usePrewrite } from 'zely';
export function get(ctx) {
usePrewrite(ctx.response, (data) => {
return `I love ${data}`;
});
res.send('cat'); // I love cat
}
#SetSender
Unlike prewrite, res.send is 100% customizable if you use setSender
.
Before sending data using res.send
, setSender
must be called for the new sender to be applied. So it is recommended to use it in the config file.
Typescript
import { defaultSender, setSender } from 'zely';
setSender(async (req, res, chunk, status) => {
console.log(`response: ${JSON.stringify(chunk)} (request: ${req.url})`);
defaultSender(req, res, chunk, status);
});
- output
Plain
$ zely dev
...
response: {"id":2,"nickname":""} (request: /hello/test)