from ..exception.base import (
NotFound, Unauthorized, Forbidden, BadGateway, InternalServerError, MethodNotAllowed, BadRequest,
NotAcceptable, ProxyAuthenticationRequired, RequestTimeout, Conflict, Gone, LengthRequired, PreconditionFailed,
RequestURITooLong, UnsupportedMediaType, RequestedRangeNotSatisfiable, ExpectationFailed, UnprocessableEntity,
MisdirectedRequest, Locked, FailedDependency, UpgradeRequired, TooManyRequests, RequestHeaderFieldsTooLarge,
UnavailableForLegalReasons, ServiceUnavailable, NotImplemented,GatewayTimeout, HTTPVersionNotSupported,
VariantAlsoNegotiates,InsufficientStorage, LoopDetected, NotExtended, NetworkAuthenticationRequired, PaymentRequired,
PayloadTooLarge, ImATeapot, PreconditionRequired
)

exception_dict = {
    400: BadRequest,
    401: Unauthorized,
    402: PaymentRequired,
    403: Forbidden,
    404: NotFound,
    405: MethodNotAllowed,
    406: NotAcceptable,
    407: ProxyAuthenticationRequired,
    408: RequestTimeout,
    409: Conflict,
    410: Gone,
    411: LengthRequired,
    412: PreconditionFailed,
    413: PayloadTooLarge,
    414: RequestURITooLong,
    415: UnsupportedMediaType,
    416: RequestedRangeNotSatisfiable,
    417: ExpectationFailed,
    418: ImATeapot,
    421: MisdirectedRequest,
    422: UnprocessableEntity,
    423: Locked,
    424: FailedDependency,
    426: UpgradeRequired,
    428: PreconditionRequired,
    429: TooManyRequests,
    431: RequestHeaderFieldsTooLarge,
    451: UnavailableForLegalReasons,
    500: InternalServerError,
    501: NotImplemented,
    502: BadGateway,
    503: ServiceUnavailable,
    504: GatewayTimeout,
    505: HTTPVersionNotSupported,
    506: VariantAlsoNegotiates,
    507: InsufficientStorage,
    508: LoopDetected,
    510: NotExtended,
    511: NetworkAuthenticationRequired
}


