From bc3a0f6d11cba836a55cbd5787d68cfe655b68a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Mon, 18 Feb 2019 11:44:39 +0100 Subject: [PATCH] feat: add model for requestBodyTooLargeError --- src/core/protocol/errors/ErrorResponse.ts | 13 +++++++++++++ src/core/protocol/routes/INDEX/IndexRequest.ts | 2 ++ .../protocol/routes/TYPE/UID/ThingUpdateRequest.ts | 5 ++++- .../bookAvailability/BookAvailabilityRequest.ts | 2 ++ src/core/protocol/routes/bulk/BulkRequest.ts | 2 ++ src/core/protocol/routes/bulk/UID/BulkAddRequest.ts | 2 ++ .../protocol/routes/bulk/UID/BulkDoneRequest.ts | 2 ++ .../protocol/routes/feedback/FeedbackRequest.ts | 2 ++ .../protocol/routes/search/MultiSearchRequest.ts | 2 ++ src/core/protocol/routes/search/SearchRequest.ts | 2 ++ 10 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/core/protocol/errors/ErrorResponse.ts b/src/core/protocol/errors/ErrorResponse.ts index 331fed1f..d5526250 100644 --- a/src/core/protocol/errors/ErrorResponse.ts +++ b/src/core/protocol/errors/ErrorResponse.ts @@ -101,6 +101,19 @@ export class SCMethodNotAllowedErrorResponse extends SCError { } } +/** + * An error that is returned, when the request body is too large. + */ +export class SCRequestBodyTooLargeErrorResponse extends SCError { + /** + * Create a SCRequestBodyTooLargeErrorResponse + * @param stack Set to true if a stack trace should be created + */ + constructor(stack?: boolean) { + super('RequestBodyTooLargeError', 'The request body is too large.', 413, stack); + } +} + /** * An error that is returned, when to many request are submitted at once */ diff --git a/src/core/protocol/routes/INDEX/IndexRequest.ts b/src/core/protocol/routes/INDEX/IndexRequest.ts index 66bf7ef8..f957cbc8 100644 --- a/src/core/protocol/routes/INDEX/IndexRequest.ts +++ b/src/core/protocol/routes/INDEX/IndexRequest.ts @@ -16,6 +16,7 @@ import {SCAbstractRoute, SCRouteHttpVerbs} from '../../../Route'; import { SCInternalServerErrorResponse, SCMethodNotAllowedErrorResponse, + SCRequestBodyTooLargeErrorResponse, SCSyntaxErrorResponse, SCUnsupportedMediaTypeErrorResponse, SCValidationErrorResponse, @@ -38,6 +39,7 @@ export class SCIndexRoute extends SCAbstractRoute { this.errorNames = [ SCInternalServerErrorResponse, SCMethodNotAllowedErrorResponse, + SCRequestBodyTooLargeErrorResponse, SCSyntaxErrorResponse, SCUnsupportedMediaTypeErrorResponse, SCValidationErrorResponse, diff --git a/src/core/protocol/routes/TYPE/UID/ThingUpdateRequest.ts b/src/core/protocol/routes/TYPE/UID/ThingUpdateRequest.ts index f4b733f6..9a256b8c 100644 --- a/src/core/protocol/routes/TYPE/UID/ThingUpdateRequest.ts +++ b/src/core/protocol/routes/TYPE/UID/ThingUpdateRequest.ts @@ -17,7 +17,9 @@ import {SCAbstractRoute, SCRouteHttpVerbs} from '../../../../Route'; import { SCInternalServerErrorResponse, SCMethodNotAllowedErrorResponse, - SCNotFoundErrorResponse, SCSyntaxErrorResponse, + SCNotFoundErrorResponse, + SCRequestBodyTooLargeErrorResponse, + SCSyntaxErrorResponse, SCUnsupportedMediaTypeErrorResponse, SCValidationErrorResponse, } from '../../../errors/ErrorResponse'; @@ -39,6 +41,7 @@ export class SCThingUpdateRoute extends SCAbstractRoute { SCInternalServerErrorResponse, SCMethodNotAllowedErrorResponse, SCNotFoundErrorResponse, + SCRequestBodyTooLargeErrorResponse, SCSyntaxErrorResponse, SCUnsupportedMediaTypeErrorResponse, SCValidationErrorResponse, diff --git a/src/core/protocol/routes/bookAvailability/BookAvailabilityRequest.ts b/src/core/protocol/routes/bookAvailability/BookAvailabilityRequest.ts index 907c5d48..9dbc5bac 100644 --- a/src/core/protocol/routes/bookAvailability/BookAvailabilityRequest.ts +++ b/src/core/protocol/routes/bookAvailability/BookAvailabilityRequest.ts @@ -18,6 +18,7 @@ import { SCInternalServerErrorResponse, SCMethodNotAllowedErrorResponse, SCNotFoundErrorResponse, + SCRequestBodyTooLargeErrorResponse, SCSyntaxErrorResponse, SCUnsupportedMediaTypeErrorResponse, SCValidationErrorResponse, @@ -71,6 +72,7 @@ export class SCBookAvailabilityRoute extends SCAbstractRoute { SCInternalServerErrorResponse, SCMethodNotAllowedErrorResponse, SCNotFoundErrorResponse, + SCRequestBodyTooLargeErrorResponse, SCSyntaxErrorResponse, SCUnsupportedMediaTypeErrorResponse, SCValidationErrorResponse, diff --git a/src/core/protocol/routes/bulk/BulkRequest.ts b/src/core/protocol/routes/bulk/BulkRequest.ts index 45d60117..9639a194 100644 --- a/src/core/protocol/routes/bulk/BulkRequest.ts +++ b/src/core/protocol/routes/bulk/BulkRequest.ts @@ -18,6 +18,7 @@ import {SCISO8601Date} from '../../../types/Time'; import { SCInternalServerErrorResponse, SCMethodNotAllowedErrorResponse, + SCRequestBodyTooLargeErrorResponse, SCSyntaxErrorResponse, SCUnsupportedMediaTypeErrorResponse, SCValidationErrorResponse, @@ -69,6 +70,7 @@ export class SCBulkRoute extends SCAbstractRoute { this.errorNames = [ SCInternalServerErrorResponse, SCMethodNotAllowedErrorResponse, + SCRequestBodyTooLargeErrorResponse, SCSyntaxErrorResponse, SCUnsupportedMediaTypeErrorResponse, SCValidationErrorResponse, diff --git a/src/core/protocol/routes/bulk/UID/BulkAddRequest.ts b/src/core/protocol/routes/bulk/UID/BulkAddRequest.ts index a3ac6021..7e4a6e51 100644 --- a/src/core/protocol/routes/bulk/UID/BulkAddRequest.ts +++ b/src/core/protocol/routes/bulk/UID/BulkAddRequest.ts @@ -18,6 +18,7 @@ import { SCInternalServerErrorResponse, SCMethodNotAllowedErrorResponse, SCNotFoundErrorResponse, + SCRequestBodyTooLargeErrorResponse, SCSyntaxErrorResponse, SCUnsupportedMediaTypeErrorResponse, SCValidationErrorResponse, @@ -39,6 +40,7 @@ export class SCBulkAddRoute extends SCAbstractRoute { SCInternalServerErrorResponse, SCMethodNotAllowedErrorResponse, SCNotFoundErrorResponse, + SCRequestBodyTooLargeErrorResponse, SCSyntaxErrorResponse, SCUnsupportedMediaTypeErrorResponse, SCValidationErrorResponse, diff --git a/src/core/protocol/routes/bulk/UID/BulkDoneRequest.ts b/src/core/protocol/routes/bulk/UID/BulkDoneRequest.ts index cbb7d36c..35914011 100644 --- a/src/core/protocol/routes/bulk/UID/BulkDoneRequest.ts +++ b/src/core/protocol/routes/bulk/UID/BulkDoneRequest.ts @@ -17,6 +17,7 @@ import { SCInternalServerErrorResponse, SCMethodNotAllowedErrorResponse, SCNotFoundErrorResponse, + SCRequestBodyTooLargeErrorResponse, SCSyntaxErrorResponse, SCUnsupportedMediaTypeErrorResponse, SCValidationErrorResponse, @@ -39,6 +40,7 @@ export class SCBulkDoneRoute extends SCAbstractRoute { SCInternalServerErrorResponse, SCMethodNotAllowedErrorResponse, SCNotFoundErrorResponse, + SCRequestBodyTooLargeErrorResponse, SCSyntaxErrorResponse, SCUnsupportedMediaTypeErrorResponse, SCValidationErrorResponse, diff --git a/src/core/protocol/routes/feedback/FeedbackRequest.ts b/src/core/protocol/routes/feedback/FeedbackRequest.ts index eb2e1274..0175c7ff 100644 --- a/src/core/protocol/routes/feedback/FeedbackRequest.ts +++ b/src/core/protocol/routes/feedback/FeedbackRequest.ts @@ -17,6 +17,7 @@ import {SCMessage} from '../../../things/Message'; import { SCInternalServerErrorResponse, SCMethodNotAllowedErrorResponse, + SCRequestBodyTooLargeErrorResponse, SCSyntaxErrorResponse, SCUnsupportedMediaTypeErrorResponse, SCValidationErrorResponse, @@ -43,6 +44,7 @@ export class SCFeedbackRoute extends SCAbstractRoute { this.errorNames = [ SCInternalServerErrorResponse, SCMethodNotAllowedErrorResponse, + SCRequestBodyTooLargeErrorResponse, SCSyntaxErrorResponse, SCUnsupportedMediaTypeErrorResponse, SCValidationErrorResponse, diff --git a/src/core/protocol/routes/search/MultiSearchRequest.ts b/src/core/protocol/routes/search/MultiSearchRequest.ts index 96b49e32..a1924b53 100644 --- a/src/core/protocol/routes/search/MultiSearchRequest.ts +++ b/src/core/protocol/routes/search/MultiSearchRequest.ts @@ -16,6 +16,7 @@ import {SCAbstractRoute, SCRouteHttpVerbs} from '../../../Route'; import { SCInternalServerErrorResponse, SCMethodNotAllowedErrorResponse, + SCRequestBodyTooLargeErrorResponse, SCSyntaxErrorResponse, SCTooManyRequestsErrorResponse, SCUnsupportedMediaTypeErrorResponse, @@ -45,6 +46,7 @@ export class SCMultiSearchRoute extends SCAbstractRoute { this.errorNames = [ SCInternalServerErrorResponse, SCMethodNotAllowedErrorResponse, + SCRequestBodyTooLargeErrorResponse, SCSyntaxErrorResponse, SCTooManyRequestsErrorResponse, SCUnsupportedMediaTypeErrorResponse, diff --git a/src/core/protocol/routes/search/SearchRequest.ts b/src/core/protocol/routes/search/SearchRequest.ts index a33645f5..390d7d3c 100644 --- a/src/core/protocol/routes/search/SearchRequest.ts +++ b/src/core/protocol/routes/search/SearchRequest.ts @@ -18,6 +18,7 @@ import {SCSearchSort} from '../../../types/sorts/Abstract'; import { SCInternalServerErrorResponse, SCMethodNotAllowedErrorResponse, + SCRequestBodyTooLargeErrorResponse, SCSyntaxErrorResponse, SCUnsupportedMediaTypeErrorResponse, SCValidationErrorResponse, @@ -70,6 +71,7 @@ export class SCSearchRoute extends SCAbstractRoute { this.errorNames = [ SCInternalServerErrorResponse, SCMethodNotAllowedErrorResponse, + SCRequestBodyTooLargeErrorResponse, SCSyntaxErrorResponse, SCUnsupportedMediaTypeErrorResponse, SCValidationErrorResponse,