From 08f99d437be4a05dfb8c080051606e68f3a71b2c Mon Sep 17 00:00:00 2001 From: Moritz Schmidt Date: Tue, 31 Mar 2015 20:53:51 +0200 Subject: [PATCH] fix restify error classes * add missing restify error classes * overloaded constructor * more constructor tests --- restify/restify-tests.ts | 128 +++++++++++++++++++++++++++++++++------ restify/restify.d.ts | 81 +++++++++++++++++++------ 2 files changed, 173 insertions(+), 36 deletions(-) diff --git a/restify/restify-tests.ts b/restify/restify-tests.ts index 3ff16da556..3e0697c1d4 100644 --- a/restify/restify-tests.ts +++ b/restify/restify-tests.ts @@ -99,23 +99,117 @@ server.del( /(.*)/, send); server.get( /(.*)/, send); server.head(/(.*)/, send); -new restify.ConflictError("test"); -new restify.InvalidArgumentError("message"); -new restify.RestError("message"); -new restify.BadDigestError("message"); -new restify.BadMethodError("message"); -new restify.BadRequestError('test'); -new restify.InternalError("message"); -new restify.InvalidContentError("message"); -new restify.InvalidCredentialsError("message"); -new restify.InvalidHeaderError("message"); -new restify.InvalidVersionError("message"); -new restify.MissingParameterError("message"); -new restify.NotAuthorizedError("message"); -new restify.RequestExpiredError("jjmessage"); -new restify.RequestThrottledError("message"); -new restify.ResourceNotFoundError("message"); -new restify.WrongAcceptError("message"); + +new restify.BadRequestError(); +new restify.UnauthorizedError(); +new restify.PaymentRequiredError(); +new restify.ForbiddenError(); +new restify.NotFoundError(); +new restify.MethodNotAllowedError(); +new restify.NotAcceptableError(); +new restify.ProxyAuthenticationRequiredError(); +new restify.RequestTimeoutError(); +new restify.ConflictError(); +new restify.GoneError(); +new restify.LengthRequiredError(); +new restify.RequestEntityTooLargeError(); +new restify.RequesturiTooLargeError(); +new restify.UnsupportedMediaTypeError(); +new restify.RequestedRangeNotSatisfiableError(); +new restify.ExpectationFailedError(); +new restify.ImATeapotError(); +new restify.UnprocessableEntityError(); +new restify.LockedError(); +new restify.FailedDependencyError(); +new restify.UnorderedCollectionError(); +new restify.UpgradeRequiredError(); +new restify.PreconditionRequiredError(); +new restify.TooManyRequestsError(); +new restify.RequestHeaderFieldsTooLargeError(); +new restify.InternalServerError(); +new restify.NotImplementedError(); +new restify.BadGatewayError(); +new restify.ServiceUnavailableError(); +new restify.GatewayTimeoutError(); +new restify.HttpVersionNotSupportedError(); +new restify.VariantAlsoNegotiatesError(); +new restify.InsufficientStorageError(); +new restify.BandwidthLimitExceededError(); +new restify.NotExtendedError(); +new restify.NetworkAuthenticationRequiredError(); +new restify.RestError(); + +new restify.BadRequestError(new Error(), 'foo'); +new restify.UnauthorizedError(new Error(), 'foo'); +new restify.PaymentRequiredError(new Error(), 'foo'); +new restify.ForbiddenError(new Error(), 'foo'); +new restify.NotFoundError(new Error(), 'foo'); +new restify.MethodNotAllowedError(new Error(), 'foo'); +new restify.NotAcceptableError(new Error(), 'foo'); +new restify.ProxyAuthenticationRequiredError(new Error(), 'foo'); +new restify.RequestTimeoutError(new Error(), 'foo'); +new restify.ConflictError(new Error(), 'foo'); +new restify.GoneError(new Error(), 'foo'); +new restify.LengthRequiredError(new Error(), 'foo'); +new restify.RequestEntityTooLargeError(new Error(), 'foo'); +new restify.RequesturiTooLargeError(new Error(), 'foo'); +new restify.UnsupportedMediaTypeError(new Error(), 'foo'); +new restify.RequestedRangeNotSatisfiableError(new Error(), 'foo'); +new restify.ExpectationFailedError(new Error(), 'foo'); +new restify.ImATeapotError(new Error(), 'foo'); +new restify.UnprocessableEntityError(new Error(), 'foo'); +new restify.LockedError(new Error(), 'foo'); +new restify.FailedDependencyError(new Error(), 'foo'); +new restify.UnorderedCollectionError(new Error(), 'foo'); +new restify.UpgradeRequiredError(new Error(), 'foo'); +new restify.PreconditionRequiredError(new Error(), 'foo'); +new restify.TooManyRequestsError(new Error(), 'foo'); +new restify.RequestHeaderFieldsTooLargeError(new Error(), 'foo'); +new restify.InternalServerError(new Error(), 'foo'); +new restify.NotImplementedError(new Error(), 'foo'); +new restify.BadGatewayError(new Error(), 'foo'); +new restify.ServiceUnavailableError(new Error(), 'foo'); +new restify.GatewayTimeoutError(new Error(), 'foo'); +new restify.HttpVersionNotSupportedError(new Error(), 'foo'); +new restify.VariantAlsoNegotiatesError(new Error(), 'foo'); +new restify.InsufficientStorageError(new Error(), 'foo'); +new restify.BandwidthLimitExceededError(new Error(), 'foo'); +new restify.NotExtendedError(new Error(), 'foo'); +new restify.NetworkAuthenticationRequiredError(new Error(), 'foo'); +new restify.RestError(new Error(), 'foo'); + +new restify.PreconditionFailedError(new Error(), 'foo'); +new restify.BadDigestError(new Error(), 'foo'); +new restify.BadMethodError(new Error(), 'foo'); +new restify.InternalError(new Error(), 'foo'); +new restify.InvalidArgumentError(new Error(), 'foo'); +new restify.InvalidContentError(new Error(), 'foo'); +new restify.InvalidCredentialsError(new Error(), 'foo'); +new restify.InvalidHeaderError(new Error(), 'foo'); +new restify.InvalidVersionError(new Error(), 'foo'); +new restify.MissingParameterError(new Error(), 'foo'); +new restify.NotAuthorizedError(new Error(), 'foo'); +new restify.RequestExpiredError(new Error(), 'foo'); +new restify.RequestThrottledError(new Error(), 'foo'); +new restify.ResourceNotFoundError(new Error(), 'foo'); +new restify.WrongAcceptError(new Error(), 'foo'); + +new restify.PreconditionFailedError(); +new restify.BadDigestError(); +new restify.BadMethodError(); +new restify.InternalError(); +new restify.InvalidArgumentError(); +new restify.InvalidContentError(); +new restify.InvalidCredentialsError(); +new restify.InvalidHeaderError(); +new restify.InvalidVersionError(); +new restify.MissingParameterError(); +new restify.NotAuthorizedError(); +new restify.RequestExpiredError(); +new restify.RequestThrottledError(); +new restify.ResourceNotFoundError(); +new restify.WrongAcceptError(); + server.name = ""; server.version = ""; diff --git a/restify/restify.d.ts b/restify/restify.d.ts index e890ef2b2e..596637f23c 100644 --- a/restify/restify.d.ts +++ b/restify/restify.d.ts @@ -179,25 +179,68 @@ declare module "restify" { export function createStringClient(options?: ClientOptions): Client; export function createClient(options?: ClientOptions): HttpClient; - export class ConflictError { constructor(message?: any); } - export class InvalidArgumentError { constructor(message?: any); } - export class RestError { constructor(message?: any); } - export class BadDigestError { constructor(message: any); } - export class BadMethodError { constructor(message: any); } - export class BadRequestError { constructor(message: any); } - export class InternalError { constructor(message: any); } - export class InvalidContentError { constructor(message: any); } - export class InvalidCredentialsError { constructor(message: any); } - export class InvalidHeaderError { constructor(message: any); } - export class InvalidVersionError { constructor(message: any); } - export class MissingParameterError { constructor(message: any); } - export class NotAuthorizedError { constructor(message: any); } - export class RequestExpiredError { constructor(message: any); } - export class RequestThrottledError { constructor(message: any); } - export class ResourceNotFoundError { constructor(message: any); } - export class WrongAcceptError { constructor(message: any); } - export class UnsupportedMediaTypeError { constructor(message: any); } - export class RequestTimeoutError { constructor(message: any); } + export class HttpError { constructor(cause: any, message?: any); } + + class DefiniteHttpError { + constructor(message?: any); + constructor(cause: any, message?: any); + } + + export class BadRequestError extends DefiniteHttpError {} + export class UnauthorizedError extends DefiniteHttpError {} + export class PaymentRequiredError extends DefiniteHttpError {} + export class ForbiddenError extends DefiniteHttpError {} + export class NotFoundError extends DefiniteHttpError {} + export class MethodNotAllowedError extends DefiniteHttpError {} + export class NotAcceptableError extends DefiniteHttpError {} + export class ProxyAuthenticationRequiredError extends DefiniteHttpError {} + export class RequestTimeoutError extends DefiniteHttpError {} + export class ConflictError extends DefiniteHttpError {} + export class GoneError extends DefiniteHttpError {} + export class LengthRequiredError extends DefiniteHttpError {} + export class RequestEntityTooLargeError extends DefiniteHttpError {} + export class RequesturiTooLargeError extends DefiniteHttpError {} + export class UnsupportedMediaTypeError extends DefiniteHttpError {} + export class RequestedRangeNotSatisfiableError extends DefiniteHttpError {} + export class ExpectationFailedError extends DefiniteHttpError {} + export class ImATeapotError extends DefiniteHttpError {} + export class UnprocessableEntityError extends DefiniteHttpError {} + export class LockedError extends DefiniteHttpError {} + export class FailedDependencyError extends DefiniteHttpError {} + export class UnorderedCollectionError extends DefiniteHttpError {} + export class UpgradeRequiredError extends DefiniteHttpError {} + export class PreconditionRequiredError extends DefiniteHttpError {} + export class TooManyRequestsError extends DefiniteHttpError {} + export class RequestHeaderFieldsTooLargeError extends DefiniteHttpError {} + export class InternalServerError extends DefiniteHttpError {} + export class NotImplementedError extends DefiniteHttpError {} + export class BadGatewayError extends DefiniteHttpError {} + export class ServiceUnavailableError extends DefiniteHttpError {} + export class GatewayTimeoutError extends DefiniteHttpError {} + export class HttpVersionNotSupportedError extends DefiniteHttpError {} + export class VariantAlsoNegotiatesError extends DefiniteHttpError {} + export class InsufficientStorageError extends DefiniteHttpError {} + export class BandwidthLimitExceededError extends DefiniteHttpError {} + export class NotExtendedError extends DefiniteHttpError {} + export class NetworkAuthenticationRequiredError extends DefiniteHttpError {} + export class RestError extends DefiniteHttpError {} + + export class PreconditionFailedError extends RestError {} + export class BadDigestError extends RestError {} + export class BadMethodError extends RestError {} + export class InternalError extends RestError {} + export class InvalidArgumentError extends RestError {} + export class InvalidContentError extends RestError {} + export class InvalidCredentialsError extends RestError {} + export class InvalidHeaderError extends RestError {} + export class InvalidVersionError extends RestError {} + export class MissingParameterError extends RestError {} + export class NotAuthorizedError extends RestError {} + export class RequestExpiredError extends RestError {} + export class RequestThrottledError extends RestError {} + export class ResourceNotFoundError extends RestError {} + export class WrongAcceptError extends RestError {} + export function acceptParser(parser: any): RequestHandler; export function authorizationParser(): RequestHandler;