Skip to content

Badly implemented Boom like class can cause runtime error #305

@matthieusieben

Description

@matthieusieben

Runtime

na

Runtime version

na

Module version

all

Last module version without issue

?

Used with

standalone

Any other relevant information

No response

What are you trying to achieve or the steps to reproduce?

const BadBoom = class extends Error { isBoom = true; };
Boom.isBoom(new BadBoom()); // true
Boom.isBoom(new BadBoom(), 404); // Cannot read properties of undefined (reading 'statusCode')

What was the result you got?

An error because err.output is undefined in the BadBoom instance

What result did you expect?

I know that isBoom is meant to work with object created only with any version of the @hapi/boom package but it could at least ensure that err.output is an object and that err.output.statusCode is a number.

What do you think ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugBug or defect

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions