@middy/http-error-handler 3.0.3 → 3.1.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -41,7 +41,7 @@ for them (using the message and the status code provided by the error object). A
41
41
  We recommend generating these HTTP errors with the npm module [`http-errors`](https://npm.im/http-errors). When manually catching and setting errors with `statusCode >= 500` setting `{expose: true}`
42
42
  is needed for them to be handled.
43
43
 
44
- This middleware should be set as the last error handler unless you also want to register the `http-reponse-serializer`. If so, this middleware should come second-last and the `http-response-serializer` should come last.
44
+ This middleware should be set as the last error handler unless you also want to register the `http-response-serializer`. If so, this middleware should come second-last and the `http-response-serializer` should come last.
45
45
 
46
46
 
47
47
  ## Install
package/index.cjs CHANGED
@@ -1,3 +1,53 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});module.exports=void 0;var _util=require("@middy/util");const defaults={logger:console.error,fallbackMessage:null};const httpErrorHandlerMiddleware=(opts={})=>{const options={...defaults,...opts};const httpErrorHandlerMiddlewareOnError=async request=>{if(request.response!==undefined)return;if(typeof options.logger==="function"){options.logger(request.error)}if(request.error.statusCode&&request.error.expose===undefined){request.error.expose=request.error.statusCode<500}if(options.fallbackMessage&&(!request.error.statusCode||!request.error.expose)){request.error={statusCode:500,message:options.fallbackMessage,expose:true}}if(request.error.expose){(0,_util).normalizeHttpResponse(request);const{statusCode,message}=request.error;request.response={...request.response,statusCode:statusCode,body:message,headers:{...request.response.headers,"Content-Type":typeof(0,_util).jsonSafeParse(message)==="string"?"text/plain":"application/json"}}}};return{onError:httpErrorHandlerMiddlewareOnError}};var _default=httpErrorHandlerMiddleware;module.exports=_default
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ module.exports = void 0;
6
+ var _util = require("@middy/util");
7
+ const defaults = {
8
+ logger: console.error,
9
+ fallbackMessage: null
10
+ };
11
+ const httpErrorHandlerMiddleware = (opts = {})=>{
12
+ const options = {
13
+ ...defaults,
14
+ ...opts
15
+ };
16
+ const httpErrorHandlerMiddlewareOnError = async (request)=>{
17
+ if (request.response !== undefined) return;
18
+ if (typeof options.logger === 'function') {
19
+ options.logger(request.error);
20
+ }
21
+ if (request.error.statusCode && request.error.expose === undefined) {
22
+ request.error.expose = request.error.statusCode < 500;
23
+ }
24
+ if (options.fallbackMessage && (!request.error.statusCode || !request.error.expose)) {
25
+ request.error = {
26
+ statusCode: 500,
27
+ message: options.fallbackMessage,
28
+ expose: true
29
+ };
30
+ }
31
+ if (request.error.expose) {
32
+ (0, _util).normalizeHttpResponse(request);
33
+ const { statusCode , message } = request.error;
34
+ request.response = {
35
+ ...request.response,
36
+ statusCode: statusCode,
37
+ body: message,
38
+ headers: {
39
+ ...request.response.headers,
40
+ 'Content-Type': typeof (0, _util).jsonSafeParse(message) === 'string' ? 'text/plain' : 'application/json'
41
+ }
42
+ };
43
+ }
44
+ };
45
+ return {
46
+ onError: httpErrorHandlerMiddlewareOnError
47
+ };
48
+ };
49
+ var _default = httpErrorHandlerMiddleware;
50
+ module.exports = _default;
51
+
2
52
 
3
53
  //# sourceMappingURL=index.cjs.map
package/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import middy from '@middy/core'
2
2
 
3
3
  interface Options {
4
- logger?: (error: any) => void
4
+ logger?: ((error: any) => void) | boolean
5
5
  fallbackMessage?: string
6
6
  }
7
7
 
package/index.js CHANGED
@@ -1,3 +1,47 @@
1
- import{jsonSafeParse,normalizeHttpResponse}from"@middy/util";const defaults={logger:console.error,fallbackMessage:null};const httpErrorHandlerMiddleware=(opts={})=>{const options={...defaults,...opts};const httpErrorHandlerMiddlewareOnError=async request=>{if(request.response!==undefined)return;if(typeof options.logger==="function"){options.logger(request.error)}if(request.error.statusCode&&request.error.expose===undefined){request.error.expose=request.error.statusCode<500}if(options.fallbackMessage&&(!request.error.statusCode||!request.error.expose)){request.error={statusCode:500,message:options.fallbackMessage,expose:true}}if(request.error.expose){normalizeHttpResponse(request);const{statusCode,message}=request.error;request.response={...request.response,statusCode:statusCode,body:message,headers:{...request.response.headers,"Content-Type":typeof jsonSafeParse(message)==="string"?"text/plain":"application/json"}}}};return{onError:httpErrorHandlerMiddlewareOnError}};export default httpErrorHandlerMiddleware
1
+ import { jsonSafeParse, normalizeHttpResponse } from '@middy/util';
2
+ const defaults = {
3
+ logger: console.error,
4
+ fallbackMessage: null
5
+ };
6
+ const httpErrorHandlerMiddleware = (opts = {})=>{
7
+ const options = {
8
+ ...defaults,
9
+ ...opts
10
+ };
11
+ const httpErrorHandlerMiddlewareOnError = async (request)=>{
12
+ if (request.response !== undefined) return;
13
+ if (typeof options.logger === 'function') {
14
+ options.logger(request.error);
15
+ }
16
+ if (request.error.statusCode && request.error.expose === undefined) {
17
+ request.error.expose = request.error.statusCode < 500;
18
+ }
19
+ if (options.fallbackMessage && (!request.error.statusCode || !request.error.expose)) {
20
+ request.error = {
21
+ statusCode: 500,
22
+ message: options.fallbackMessage,
23
+ expose: true
24
+ };
25
+ }
26
+ if (request.error.expose) {
27
+ normalizeHttpResponse(request);
28
+ const { statusCode , message } = request.error;
29
+ request.response = {
30
+ ...request.response,
31
+ statusCode: statusCode,
32
+ body: message,
33
+ headers: {
34
+ ...request.response.headers,
35
+ 'Content-Type': typeof jsonSafeParse(message) === 'string' ? 'text/plain' : 'application/json'
36
+ }
37
+ };
38
+ }
39
+ };
40
+ return {
41
+ onError: httpErrorHandlerMiddlewareOnError
42
+ };
43
+ };
44
+ export default httpErrorHandlerMiddleware;
45
+
2
46
 
3
47
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@middy/http-error-handler",
3
- "version": "3.0.3",
3
+ "version": "3.1.0-rc.1",
4
4
  "description": "Http error handler middleware for the middy framework",
5
5
  "type": "module",
6
6
  "engines": {
@@ -10,11 +10,17 @@
10
10
  "publishConfig": {
11
11
  "access": "public"
12
12
  },
13
+ "main": "./index.cjs",
13
14
  "exports": {
14
15
  ".": {
15
- "import": "./index.js",
16
- "require": "./index.cjs",
17
- "types": "./index.d.ts"
16
+ "import": {
17
+ "types": "./index.d.ts",
18
+ "default": "./index.js"
19
+ },
20
+ "require": {
21
+ "types": "./index.d.ts",
22
+ "default": "./index.cjs"
23
+ }
18
24
  }
19
25
  },
20
26
  "types": "index.d.ts",
@@ -56,12 +62,12 @@
56
62
  },
57
63
  "homepage": "https://middy.js.org",
58
64
  "dependencies": {
59
- "@middy/util": "3.0.3"
65
+ "@middy/util": "3.1.0-rc.1"
60
66
  },
61
67
  "devDependencies": {
62
- "@middy/core": "3.0.3",
68
+ "@middy/core": "3.1.0-rc.1",
63
69
  "@types/http-errors": "^1.8.0",
64
70
  "@types/node": "^17.0.0"
65
71
  },
66
- "gitHead": "ea9e5e8cce754d0c467c7dd3ac9a7601149efea2"
72
+ "gitHead": "044c397e7a2b1de516b4b5c21ece2baffdbfa771"
67
73
  }