Last active
July 27, 2018 19:35
-
-
Save yanli0303/8c622b96d2b0264c291738458a4df3fc to your computer and use it in GitHub Desktop.
HTTP Status Swift Enumeration based on https://httpstatuses.com/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// HTTP Status | |
"http_status_100" = "Continue"; | |
"http_status_101" = "Switching Protocols"; | |
"http_status_102" = "Processing"; | |
"http_status_200" = "OK"; | |
"http_status_201" = "Created"; | |
"http_status_202" = "Accepted"; | |
"http_status_203" = "Non-authoritative Information"; | |
"http_status_204" = "No Content"; | |
"http_status_205" = "Reset Content"; | |
"http_status_206" = "Partial Content"; | |
"http_status_207" = "Multi-Status"; | |
"http_status_208" = "Already Reported"; | |
"http_status_226" = "IM Used"; | |
"http_status_300" = "Multiple Choices"; | |
"http_status_301" = "Moved Permanently"; | |
"http_status_302" = "Found"; | |
"http_status_303" = "See Other"; | |
"http_status_304" = "Not Modified"; | |
"http_status_305" = "Use Proxy"; | |
"http_status_307" = "Temporary Redirect"; | |
"http_status_308" = "Permanent Redirect"; | |
"http_status_400" = "Bad Request"; | |
"http_status_401" = "Unauthorized"; | |
"http_status_402" = "Payment Required"; | |
"http_status_403" = "Forbidden"; | |
"http_status_404" = "Not Found"; | |
"http_status_405" = "Method Not Allowed"; | |
"http_status_406" = "Not Acceptable"; | |
"http_status_407" = "Proxy Authentication Required"; | |
"http_status_408" = "Request Timeout"; | |
"http_status_409" = "Conflict"; | |
"http_status_410" = "Gone"; | |
"http_status_411" = "Length Required"; | |
"http_status_412" = "Precondition Failed"; | |
"http_status_413" = "Payload Too Large"; | |
"http_status_414" = "Request-URI Too Long"; | |
"http_status_415" = "Unsupported Media Type"; | |
"http_status_416" = "Requested Range Not Satisfiable"; | |
"http_status_417" = "Expectation Failed"; | |
"http_status_418" = "I'm a teapot"; | |
"http_status_421" = "Misdirected Request"; | |
"http_status_422" = "Unprocessable Entity"; | |
"http_status_423" = "Locked"; | |
"http_status_424" = "Failed Dependency"; | |
"http_status_426" = "Upgrade Required"; | |
"http_status_428" = "Precondition Required"; | |
"http_status_429" = "Too Many Requests"; | |
"http_status_431" = "Request Header Fields Too Large"; | |
"http_status_444" = "Connection Closed Without Response"; | |
"http_status_451" = "Unavailable For Legal Reasons"; | |
"http_status_499" = "Client Closed Request"; | |
"http_status_500" = "Internal Server Error"; | |
"http_status_501" = "Not Implemented"; | |
"http_status_502" = "Bad Gateway"; | |
"http_status_503" = "Service Unavailable"; | |
"http_status_504" = "Gateway Timeout"; | |
"http_status_505" = "HTTP Version Not Supported"; | |
"http_status_506" = "Variant Also Negotiates"; | |
"http_status_507" = "Insufficient Storage"; | |
"http_status_508" = "Loop Detected"; | |
"http_status_510" = "Not Extended"; | |
"http_status_511" = "Network Authentication Required"; | |
"http_status_599" = "Network Connect Timeout Error"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// HTTP Statuses | |
/// | |
/// - continue: Continue | |
/// - switchingProtocols: Switching Protocols | |
/// - processing: Processing | |
/// - ok: OK | |
/// - created: Created | |
/// - accepted: Accepted | |
/// - nonAuthoritativeInformation: Non-authoritative Information | |
/// - noContent: No Content | |
/// - resetContent: Reset Content | |
/// - partialContent: Partial Content | |
/// - multiStatus: Multi-Status | |
/// - alreadyReported: Already Reported | |
/// - iAmUsed: IM Used | |
/// - multipleChoices: Multiple Choices | |
/// - movedPermanently: Moved Permanently | |
/// - found: Found | |
/// - seeOther: See Other | |
/// - notModified: Not Modified | |
/// - useProxy: Use Proxy | |
/// - temporaryRedirect: Temporary Redirect | |
/// - permanentRedirect: Permanent Redirect | |
/// - badRequest: Bad Request | |
/// - unauthorized: Unauthorized | |
/// - paymentRequired: Payment Required | |
/// - forbidden: Forbidden | |
/// - notFound: Not Found | |
/// - methodNotAllowed: Method Not Allowed | |
/// - notAcceptable: Not Acceptable | |
/// - proxyAuthenticationRequired: Proxy Authentication Required | |
/// - requestTimeout: Request Timeout | |
/// - conflict: Conflict | |
/// - gone: Gone | |
/// - lengthRequired: Length Required | |
/// - preconditionFailed: Precondition Failed | |
/// - payloadTooLarge: Payload Too Large | |
/// - requestURITooLong: Request-URI Too Long | |
/// - unsupportedMediaType: Unsupported Media Type | |
/// - requestedRangeNotSatisfiable: Requested Range Not Satisfiable | |
/// - expectationFailed: Expectation Failed | |
/// - iAmATeapot: I'm a teapot | |
/// - misdirectedRequest: Misdirected Request | |
/// - unprocessableEntity: Unprocessable Entity | |
/// - locked: Locked | |
/// - failedDependency: Failed Dependency | |
/// - upgradeRequired: Upgrade Required | |
/// - preconditionRequired: Precondition Required | |
/// - tooManyRequests: Too Many Requests | |
/// - requestHeaderFieldsTooLarge: Request Header Fields Too Large | |
/// - connectionClosedWithoutResponse: Connection Closed Without Response | |
/// - unavailableForLegalReasons: Unavailable For Legal Reasons | |
/// - clientClosedRequest: Client Closed Request | |
/// - internalServerError: Internal Server Error | |
/// - notImplemented: Not Implemented | |
/// - badGateway: Bad Gateway | |
/// - serviceUnavailable: Service Unavailable | |
/// - gatewayTimeout: Gateway Timeout | |
/// - httpVersionNotSupported: HTTP Version Not Supported | |
/// - variantAlsoNegotiates: Variant Also Negotiates | |
/// - insufficientStorage: Insufficient Storage | |
/// - loopDetected: Loop Detected | |
/// - notExtended: Not Extended | |
/// - networkAuthenticationRequired: Network Authentication Required | |
/// - networkConnectTimeoutError: Network Connect Timeout Error | |
enum HttpStatus: Int { | |
case `continue` = 100 | |
case switchingProtocols = 101 | |
case processing = 102 | |
case ok = 200 | |
case created = 201 | |
case accepted = 202 | |
case nonAuthoritativeInformation = 203 | |
case noContent = 204 | |
case resetContent = 205 | |
case partialContent = 206 | |
case multiStatus = 207 | |
case alreadyReported = 208 | |
case iAmUsed = 226 | |
case multipleChoices = 300 | |
case movedPermanently = 301 | |
case found = 302 | |
case seeOther = 303 | |
case notModified = 304 | |
case useProxy = 305 | |
case temporaryRedirect = 307 | |
case permanentRedirect = 308 | |
case badRequest = 400 | |
case unauthorized = 401 | |
case paymentRequired = 402 | |
case forbidden = 403 | |
case notFound = 404 | |
case methodNotAllowed = 405 | |
case notAcceptable = 406 | |
case proxyAuthenticationRequired = 407 | |
case requestTimeout = 408 | |
case conflict = 409 | |
case gone = 410 | |
case lengthRequired = 411 | |
case preconditionFailed = 412 | |
case payloadTooLarge = 413 | |
case requestURITooLong = 414 | |
case unsupportedMediaType = 415 | |
case requestedRangeNotSatisfiable = 416 | |
case expectationFailed = 417 | |
case iAmATeapot = 418 | |
case misdirectedRequest = 421 | |
case unprocessableEntity = 422 | |
case locked = 423 | |
case failedDependency = 424 | |
case upgradeRequired = 426 | |
case preconditionRequired = 428 | |
case tooManyRequests = 429 | |
case requestHeaderFieldsTooLarge = 431 | |
case connectionClosedWithoutResponse = 444 | |
case unavailableForLegalReasons = 451 | |
case clientClosedRequest = 499 | |
case internalServerError = 500 | |
case notImplemented = 501 | |
case badGateway = 502 | |
case serviceUnavailable = 503 | |
case gatewayTimeout = 504 | |
case httpVersionNotSupported = 505 | |
case variantAlsoNegotiates = 506 | |
case insufficientStorage = 507 | |
case loopDetected = 508 | |
case notExtended = 510 | |
case networkAuthenticationRequired = 511 | |
case networkConnectTimeoutError = 599 | |
} | |
extension HttpStatus: CustomStringConvertible { | |
var description: String { | |
// HTTPURLResponse.localizedString(forStatusCode: rawValue) | |
return NSLocalizedString( | |
"http_status_\(rawValue)", | |
tableName: "HttpStatusEnum", | |
comment: "" | |
) | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment