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)