Skip to content

Badly implemented Boom like class can cause runtime error #305

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 ?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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