Skip to content

Commit

Permalink
fix!: remove default statusMessage from errors (#195)
Browse files Browse the repository at this point in the history
  • Loading branch information
pi0 committed Oct 15, 2022
1 parent cb3bafe commit 4229ce0
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 6 deletions.
5 changes: 4 additions & 1 deletion playground/index.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
import { listen } from 'listhen'
import { createApp, createRouter, eventHandler, toNodeListener, parseCookies } from '../src'
import { createApp, createRouter, eventHandler, toNodeListener, parseCookies, createError } from '../src'

const app = createApp({ debug: true })
const router = createRouter()
.get('/', eventHandler(() => 'Hello World!'))
.get('/error/:code', eventHandler((event) => {
throw createError({ statusCode: parseInt(event.context.params.code) })
}))
.get('/hello/:name', eventHandler((event) => {
return `Hello ${parseCookies(event)}!`
}))
Expand Down
11 changes: 8 additions & 3 deletions src/error.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ export class H3Error extends Error {
statusCode: number = 500
fatal: boolean = false
unhandled: boolean = false
statusMessage: string = 'Internal Server Error'
statusMessage?: string = undefined
data?: any
}

Expand Down Expand Up @@ -84,8 +84,13 @@ export function sendError (event: H3Event, error: Error | H3Error, debug?: boole
}

if (event.res.writableEnded) { return }
event.res.statusCode = h3Error.statusCode
event.res.statusMessage = h3Error.statusMessage
const _code = parseInt(h3Error.statusCode as unknown as string)
if (_code) {
event.res.statusCode = _code
}
if (h3Error.statusMessage) {
event.res.statusMessage = h3Error.statusMessage
}
event.res.setHeader('Content-Type', MIMES.json)
event.res.end(JSON.stringify(responseBody, null, 2))
}
Expand Down
3 changes: 1 addition & 2 deletions test/error.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,7 @@ describe('error', () => {

expect(result.status).toBe(500)
expect(JSON.parse(result.text)).toMatchObject({
statusCode: 500,
statusMessage: 'Internal Server Error'
statusCode: 500
})
})

Expand Down

0 comments on commit 4229ce0

Please sign in to comment.