All files / server-old/plugins/final errors.js

100% Statements 5/5
100% Branches 0/0
100% Functions 1/1
100% Lines 4/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 4126x   26x                     26x                                                   26x  
const error = require('../../error')('/plugin/final/');
 
error.noreturn = ({ method, url }) => `
Your middleware did not return anything for this request:
 
${method} ${url}
 
This normally happens when no route was matched or if the router did not reply with anything. Make sure to return something, even if it's a catch-all error.
 
Documentation for reply: https://serverjs.io/documentation/reply/
Relevant issue: https://github.com/franciscop/server/issues/118
`;
 
error.unhandled = `
Some middleware threw an error that was not handled properly. This can happen when you do this:
 
~~~
// BAD:
server(ctx => { throw new Error('I am an error!'); });
~~~
 
To catch and handle these types of errors, add a route to the end of your middlewares to handle errors like this:
 
~~~
// GOOD:
const { error } = server.router;
const { status } = server.reply;
 
server(
  ctx => { throw new Error('I am an error!'); },
  // ...
  error(ctx => status(500).send(ctx.error.message))
);
~~~
 
Please feel free to open an issue in Github asking for more info:
https://github.com/franciscop/server
`;
 
module.exports = error;