alvarcarto / alvarcarto/url-to-pdf-api

Possible improvement on errorResponder

オープン
#138 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
HTML
スター
7.1k
フォーク
779
PR マージ指標
30日以内にマージされた PR はありません

説明

Hi @kimmobrunfeldt , first of all thank you very much for your work.
I noticed that the error response was not homogeneous, when it comes to errors from Puppeteer.
To trigger a "managed" error:
`{ output: "screenshot", screenshot: { type: "ABC", ... }`
This will return a json with error code, message, error list etc..

To trigger an "unmanaged" error:
`{ output: "screenshot", screenshot: { type: "png", fullPage: true, clip: { 0, 0, 32, 32 } }`
This will return only a status 500 and message of "Internal server error"

I've changed it for my deployment, and maybe the idea might be implemented on your side, if you consider it.
The chance will make the ErrorResponder send back always a json with the same schema even when there's a "unhandled" error (like in the example.

Here's my code for "errorResponder" in src\middleware\error-responder.js
```
return function errorResponder(err, req, res, next) {
const status = err.status ? err.status : 480;
var httpMessage = http.STATUS_CODES[status];
httpMessage = httpMessage ? httpMessage : err.message;

const errBody = _.has(err, 'errors')
? err.errors
: [{fields: [], location: "body", messages:[err.message]}];

res.status(status);
res.send({ status, statusText: httpMessage, errors: errBody });
};
```

Thanks, cheers
Andy

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。