From 3bf83a2aabf0ee578f51c12ac549aec6ae1a8aa2 Mon Sep 17 00:00:00 2001 From: Vincenzo Scamporlino Date: Tue, 14 Feb 2023 17:07:57 +0100 Subject: [PATCH] errors: add NotImplementedError Co-authored-by: Harry Hogg Signed-off-by: Vincenzo Scamporlino --- .changeset/polite-wombats-smash.md | 6 ++++++ packages/backend-app-api/src/http/MiddlewareFactory.ts | 3 +++ packages/errors/src/errors/common.ts | 7 +++++++ packages/errors/src/errors/index.ts | 1 + 4 files changed, 17 insertions(+) create mode 100644 .changeset/polite-wombats-smash.md diff --git a/.changeset/polite-wombats-smash.md b/.changeset/polite-wombats-smash.md new file mode 100644 index 0000000000..250ca215f5 --- /dev/null +++ b/.changeset/polite-wombats-smash.md @@ -0,0 +1,6 @@ +--- +'@backstage/backend-app-api': patch +'@backstage/errors': patch +--- + +Add NotImplementedError diff --git a/packages/backend-app-api/src/http/MiddlewareFactory.ts b/packages/backend-app-api/src/http/MiddlewareFactory.ts index dc9fe9aa5f..833bdba540 100644 --- a/packages/backend-app-api/src/http/MiddlewareFactory.ts +++ b/packages/backend-app-api/src/http/MiddlewareFactory.ts @@ -38,6 +38,7 @@ import { NotModifiedError, serializeError, } from '@backstage/errors'; +import { NotImplementedError } from '@backstage/errors'; /** * Options used to create a {@link MiddlewareFactory}. @@ -257,6 +258,8 @@ function getStatusCode(error: Error): number { return 404; case ConflictError.name: return 409; + case NotImplementedError.name: + return 501; default: break; } diff --git a/packages/errors/src/errors/common.ts b/packages/errors/src/errors/common.ts index 80a3d84d82..e1a292d7b5 100644 --- a/packages/errors/src/errors/common.ts +++ b/packages/errors/src/errors/common.ts @@ -74,6 +74,13 @@ export class ConflictError extends CustomErrorBase {} */ export class NotModifiedError extends CustomErrorBase {} +/** + * The server does not support the functionality required to fulfill the request. + * + * @public + */ +export class NotImplementedError extends CustomErrorBase {} + /** * An error that forwards an underlying cause with additional context in the message. * diff --git a/packages/errors/src/errors/index.ts b/packages/errors/src/errors/index.ts index 9e1c2408af..efd3257fbf 100644 --- a/packages/errors/src/errors/index.ts +++ b/packages/errors/src/errors/index.ts @@ -24,6 +24,7 @@ export { NotAllowedError, NotFoundError, NotModifiedError, + NotImplementedError, } from './common'; export { CustomErrorBase } from './CustomErrorBase'; export { ResponseError } from './ResponseError';