--- /dev/null
+{-# LANGUAGE
+ DeriveDataTypeable
+ , QuasiQuotes
+ #-}
+-- |Definition of HTTP status code.
+-- 'Network.HTTP.Lucu.Resource.setStatus' accepts these named status
+-- codes so you don't have to memorize that, say, \"Gateway Timeout\"
+-- is 504.
+module Network.HTTP.Lucu.StatusCode
+ ( -- * Informational
+ Continue(..)
+ , SwitchingProtocols(..)
+ , Processing(..)
+
+ -- * Successful
+ , OK(..)
+ , Created(..)
+ , Accepted(..)
+ , NonAuthoritativeInformation(..)
+ , NoContent(..)
+ , ResetContent(..)
+ , PartialContent(..)
+ , MultiStatus(..)
+ , AlreadyReported(..)
+ , IMUsed(..)
+
+ -- * Redirection
+ , MultipleChoices(..)
+ , MovedPermanently(..)
+ , Found(..)
+ , SeeOther(..)
+ , NotModified(..)
+ , UseProxy(..)
+ , TemporaryRedirect(..)
+
+ -- * Client Error
+ , BadRequest(..)
+ , Unauthorized(..)
+ , PaymentRequired(..)
+ , Forbidden(..)
+ , NotFound(..)
+ , MethodNotAllowed(..)
+ , NotAcceptable(..)
+ , ProxyAuthenticationRequired(..)
+ , RequestTimeout(..)
+ , Conflict(..)
+ , Gone(..)
+ , LengthRequired(..)
+ , PreconditionFailed(..)
+ , RequestEntityTooLarge(..)
+ , RequestURITooLarge(..)
+ , UnsupportedMediaType(..)
+ , RequestRangeNotSatisfiable(..)
+ , ExpectationFailed(..)
+ , UnprocessableEntity(..)
+ , Locked(..)
+ , FailedDependency(..)
+ , UpgradeRequired(..)
+
+ -- * Server Error
+ , InternalServerError(..)
+ , NotImplemented(..)
+ , BadGateway(..)
+ , ServiceUnavailable(..)
+ , GatewayTimeout(..)
+ , HTTPVersionNotSupported(..)
+ , VariantAlsoNegotiates(..)
+ , InsufficientStorage(..)
+ , LoopDetected(..)
+ , NotExtended(..)
+ )
+ where
+import Data.Typeable
+import Network.HTTP.Lucu.StatusCode.Internal
+
+[statusCodes|
+100 Continue
+101 Switching Protocols
+102 Processing
+
+200 OK
+201 Created
+202 Accepted
+203 Non Authoritative Information
+204 No Content
+205 Reset Content
+206 Partial Content
+207 Multi Status
+208 Already Reported
+226 IM Used
+
+300 Multiple Choices
+301 Moved Permanently
+302 Found
+303 See Other
+304 Not Modified
+305 Use Proxy
+307 Temporary Redirect
+
+400 Bad Request
+401 Unauthorized
+402 Payment Required
+403 Forbidden
+404 Not Found
+405 Method Not Allowed
+406 Not Acceptable
+407 Proxy Authentication Required
+408 Request Timeout
+409 Conflict
+410 Gone
+411 Length Required
+412 Precondition Failed
+413 Request Entity Too Large
+414 Request URI Too Large
+415 Unsupported Media Type
+416 Request Range Not Satisfiable
+417 Expectation Failed
+422 Unprocessable Entity
+423 Locked
+424 Failed Dependency
+426 Upgrade Required
+
+500 Internal Server Error
+501 Not Implemented
+502 Bad Gateway
+503 Service Unavailable
+504 Gateway Timeout
+505 HTTP Version Not Supported
+506 Variant Also Negotiates
+507 Insufficient Storage
+508 Loop Detected
+510 Not Extended
+|]