@middy/http-error-handler 3.0.0-alpha.5 → 3.0.0-alpha.8

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.
Files changed (4) hide show
  1. package/README.md +25 -15
  2. package/index.cjs +3 -0
  3. package/index.js +2 -47
  4. package/package.json +13 -6
package/README.md CHANGED
@@ -1,26 +1,36 @@
1
- # Middy http-error-handler middleware
2
-
3
- <div align="center">
4
- <img alt="Middy logo" src="https://raw.githubusercontent.com/middyjs/middy/main/docs/img/middy-logo.png"/>
5
- </div>
6
-
7
1
  <div align="center">
2
+ <h1>Middy http-error-handler middleware</h1>
3
+ <img alt="Middy logo" src="https://raw.githubusercontent.com/middyjs/middy/main/docs/img/middy-logo.svg"/>
8
4
  <p><strong>HTTP error handler middleware for the middy framework, the stylish Node.js middleware engine for AWS Lambda</strong></p>
9
- </div>
10
-
11
- <div align="center">
12
5
  <p>
13
- <a href="http://badge.fury.io/js/%40middy%2Fhttp-error-handler">
6
+ <a href="https://www.npmjs.com/package/@middy/http-error-handler?activeTab=versions">
14
7
  <img src="https://badge.fury.io/js/%40middy%2Fhttp-error-handler.svg" alt="npm version" style="max-width:100%;">
15
8
  </a>
9
+ <a href="https://packagephobia.com/result?p=@middy/http-error-handler">
10
+ <img src="https://packagephobia.com/badge?p=@middy/http-error-handler" alt="npm install size" style="max-width:100%;">
11
+ </a>
12
+ <a href="https://github.com/middyjs/middy/actions">
13
+ <img src="https://github.com/middyjs/middy/workflows/Tests/badge.svg" alt="GitHub Actions test status badge" style="max-width:100%;">
14
+ </a>
15
+ <br/>
16
+ <a href="https://standardjs.com/">
17
+ <img src="https://img.shields.io/badge/code_style-standard-brightgreen.svg" alt="Standard Code Style" style="max-width:100%;">
18
+ </a>
16
19
  <a href="https://snyk.io/test/github/middyjs/middy">
17
20
  <img src="https://snyk.io/test/github/middyjs/middy/badge.svg" alt="Known Vulnerabilities" data-canonical-src="https://snyk.io/test/github/middyjs/middy" style="max-width:100%;">
18
21
  </a>
19
- <a href="https://standardjs.com/">
20
- <img src="https://img.shields.io/badge/code_style-standard-brightgreen.svg" alt="Standard Code Style" style="max-width:100%;">
22
+ <a href="https://lgtm.com/projects/g/middyjs/middy/context:javascript">
23
+ <img src="https://img.shields.io/lgtm/grade/javascript/g/middyjs/middy.svg?logo=lgtm&logoWidth=18" alt="Language grade: JavaScript" style="max-width:100%;">
24
+ </a>
25
+ <a href="https://bestpractices.coreinfrastructure.org/projects/5280">
26
+ <img src="https://bestpractices.coreinfrastructure.org/projects/5280/badge" alt="Core Infrastructure Initiative (CII) Best Practices" style="max-width:100%;">
21
27
  </a>
28
+ <br/>
22
29
  <a href="https://gitter.im/middyjs/Lobby">
23
- <img src="https://badges.gitter.im/gitterHQ/gitter.svg" alt="Chat on Gitter" style="max-width:100%;">
30
+ <img src="https://badges.gitter.im/gitterHQ/gitter.svg" alt="Chat on Gitter" style="max-width:100%;">
31
+ </a>
32
+ <a href="https://stackoverflow.com/questions/tagged/middy?sort=Newest&uqlId=35052">
33
+ <img src="https://img.shields.io/badge/StackOverflow-[middy]-yellow" alt="Ask questions on StackOverflow" style="max-width:100%;">
24
34
  </a>
25
35
  </p>
26
36
  </div>
@@ -44,8 +54,8 @@ npm install --save @middy/http-error-handler
44
54
 
45
55
  ## Options
46
56
 
47
- - `logger` function (defaults to `console.error`) - a logging function that is invoked with the current error as an argument. You can pass `false` if you don't want the logging to happen.
48
- - `fallbackMessage` (default to null) - When non-http errors occur you can catch them by setting a fallback message to be used. These will be returned with a 500 status code.
57
+ - `logger` (function) (default `console.error`) - a logging function that is invoked with the current error as an argument. You can pass `false` if you don't want the logging to happen.
58
+ - `fallbackMessage` (string) (default `undefined`) - When non-http errors occur you can catch them by setting a fallback message to be used. These will be returned with a 500 status code.
49
59
 
50
60
  ## Sample usage
51
61
 
package/index.cjs ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=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;exports.default=_default
2
+
3
+ //# sourceMappingURL=index.cjs.map
package/index.js CHANGED
@@ -1,48 +1,3 @@
1
- import { jsonSafeParse, normalizeHttpResponse } from '@middy/util';
2
- const defaults = {
3
- logger: console.error,
4
- fallbackMessage: null
5
- };
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
6
2
 
7
- const httpErrorHandlerMiddleware = (opts = {}) => {
8
- const options = { ...defaults,
9
- ...opts
10
- };
11
-
12
- const httpErrorHandlerMiddlewareOnError = async request => {
13
- if (request.response !== undefined) return;
14
-
15
- if (typeof options.logger === 'function') {
16
- options.logger(request.error);
17
- }
18
-
19
- if (request.error.statusCode && request.error.expose === undefined) {
20
- request.error.expose = request.error.statusCode < 500;
21
- }
22
-
23
- if (options.fallbackMessage && (!request.error.statusCode || !request.error.expose)) {
24
- request.error = {
25
- statusCode: 500,
26
- message: options.fallbackMessage,
27
- expose: true
28
- };
29
- }
30
-
31
- if (request.error.expose) {
32
- normalizeHttpResponse(request);
33
- request.response = { ...request.response,
34
- statusCode: request.error.statusCode,
35
- body: request.error.message,
36
- headers: { ...request.response.headers,
37
- 'Content-Type': typeof jsonSafeParse(request.error.message) === 'string' ? 'text/plain' : 'application/json'
38
- }
39
- };
40
- }
41
- };
42
-
43
- return {
44
- onError: httpErrorHandlerMiddlewareOnError
45
- };
46
- };
47
-
48
- export default httpErrorHandlerMiddleware;
3
+ //# 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.0-alpha.5",
3
+ "version": "3.0.0-alpha.8",
4
4
  "description": "Http error handler middleware for the middy framework",
5
5
  "type": "module",
6
6
  "engines": {
@@ -10,10 +10,17 @@
10
10
  "publishConfig": {
11
11
  "access": "public"
12
12
  },
13
- "exports": "./index.js",
13
+ "exports": {
14
+ ".": {
15
+ "import": "./index.js",
16
+ "require": "./index.cjs",
17
+ "types": "./index.d.ts"
18
+ }
19
+ },
14
20
  "types": "index.d.ts",
15
21
  "files": [
16
22
  "index.js",
23
+ "index.cjs",
17
24
  "index.d.ts"
18
25
  ],
19
26
  "scripts": {
@@ -47,14 +54,14 @@
47
54
  "bugs": {
48
55
  "url": "https://github.com/middyjs/middy/issues"
49
56
  },
50
- "homepage": "https://github.com/middyjs/middy#readme",
57
+ "homepage": "https://middy.js.org",
51
58
  "dependencies": {
52
- "@middy/util": "^3.0.0-alpha.5"
59
+ "@middy/util": "^3.0.0-alpha.8"
53
60
  },
54
61
  "devDependencies": {
55
- "@middy/core": "^3.0.0-alpha.5",
62
+ "@middy/core": "^3.0.0-alpha.8",
56
63
  "@types/http-errors": "^1.8.0",
57
64
  "@types/node": "^17.0.0"
58
65
  },
59
- "gitHead": "cf6a1b02a2e163bea353b10146d67e0d95ef8072"
66
+ "gitHead": "c04b3a0c2f326906b34973878d6f823778a5ea99"
60
67
  }