Skip to content

Commit

Permalink
Merge pull request #2 from expresso/feature/app-name
Browse files Browse the repository at this point in the history
Feature/app name
  • Loading branch information
roziscoding authored May 13, 2019
2 parents de4b828 + 75217f7 commit 49b9064
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 7 deletions.
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@expresso/errors",
"version": "1.1.1",
"version": "1.2.0",
"description": "@expresso express error handling suite",
"main": "dist/index.js",
"scripts": {
Expand Down
6 changes: 4 additions & 2 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@ import * as _renderer from './renderer'
import * as _normalizer from './normalizer'
import { ErrorRequestHandler } from 'express'

export function factory (environment: string): ErrorRequestHandler[] {
export function factory (environment: string, appName?: string): ErrorRequestHandler[] {
const app = appName || process.env.npm_package_name

return [
_stderr.factory(),
_normalizer.factory(),
_renderer.factory(environment)
_renderer.factory(environment, app)
]
}

Expand Down
7 changes: 4 additions & 3 deletions src/renderer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ interface IErrorData {
additionalProperties?: unknown
}

type ErrorOutput = { status: number, error: { code: string, message: string, stack?: unknown, data?: unknown } }
type ErrorOutput = { app?: string, status: number, error: { code: string, message: string, stack?: unknown, data?: unknown } }

type ErrorData = IErrorData | null

Expand All @@ -25,13 +25,14 @@ type ErrorData = IErrorData | null
* @param environment - sugar-env environment string
* @returns - Error handling middleware
*/
export function factory (environment: string): ErrorRequestHandler {
export function factory (environment: string, appName?: string): ErrorRequestHandler {
return (err: Boom<ErrorData>, _req: Request, res: Response, _next: NextFunction) => {
const { message, output: { statusCode: status }, data } = err

const code = data && data.code ? data.code : slug(err.output.payload.error, { replacement: '_', lower: true })

const output: ErrorOutput = { status, error: { code, message } }

if (appName) output.app = appName
if (shouldDisplayErrorStack(environment) && data && data.stack) output.error.stack = data.stack
if (data && data.additionalProperties) output.error.data = data.additionalProperties

Expand Down

0 comments on commit 49b9064

Please sign in to comment.