http-types-0.12.4: Generic HTTP types for Haskell (for both client and server code).
Safe HaskellSafe-Inferred
LanguageHaskell2010

Network.HTTP.Types.Status

Description

Types and constants to describe HTTP status codes.

At the bottom are some functions to check if a given Status is from a certain category. (i.e. 1XX, 2XX, etc.)

Synopsis

HTTP Status

data Status Source #

HTTP Status.

Only the statusCode is used for comparisons.

Please use mkStatus to create status codes from code and message, or the Enum instance or the status code constants (like ok200). There might be additional record members in the future.

Note that the Show instance is only for debugging.

Constructors

Status Int ByteString 

Instances

Instances details
Data Status Source #

Since: 0.12.4

Instance details

Defined in Network.HTTP.Types.Status

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Status -> c Status #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Status #

toConstr :: Status -> Constr #

dataTypeOf :: Status -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Status) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Status) #

gmapT :: (forall b. Data b => b -> b) -> Status -> Status #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Status -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Status -> r #

gmapQ :: (forall d. Data d => d -> u) -> Status -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Status -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Status -> m Status #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Status -> m Status #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Status -> m Status #

Bounded Status Source #

Since: 0.11

Instance details

Defined in Network.HTTP.Types.Status

Enum Status Source #

Be advised, that when using the "enumFrom*" family of methods or ranges in lists, it will generate all possible status codes.

E.g. [status100 .. status200] generates Statuses of 100, 101, 102 .. 198, 199, 200

The statuses not included in this library will have an empty message.

Since: 0.7.3

Instance details

Defined in Network.HTTP.Types.Status

Generic Status Source # 
Instance details

Defined in Network.HTTP.Types.Status

Associated Types

type Rep Status :: Type -> Type #

Methods

from :: Status -> Rep Status x #

to :: Rep Status x -> Status #

Show Status Source # 
Instance details

Defined in Network.HTTP.Types.Status

Eq Status Source #

A Status is equal to another Status if the status codes are equal.

Instance details

Defined in Network.HTTP.Types.Status

Methods

(==) :: Status -> Status -> Bool #

(/=) :: Status -> Status -> Bool #

Ord Status Source #

Statuses are ordered according to their status codes only.

Instance details

Defined in Network.HTTP.Types.Status

type Rep Status Source #

Since: 0.12.4

Instance details

Defined in Network.HTTP.Types.Status

type Rep Status = D1 ('MetaData "Status" "Network.HTTP.Types.Status" "http-types-0.12.4-8sVzaiF2LjrERDtipkARMD" 'False) (C1 ('MetaCons "Status" 'PrefixI 'True) (S1 ('MetaSel ('Just "statusCode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "statusMessage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

mkStatus :: Int -> ByteString -> Status Source #

Create a Status from a status code and message.

Common statuses

status100 :: Status Source #

Continue 100

Since: 0.6.6

continue100 :: Status Source #

Continue 100

Since: 0.6.6

status101 :: Status Source #

Switching Protocols 101

Since: 0.6.6

switchingProtocols101 :: Status Source #

Switching Protocols 101

Since: 0.6.6

ok200 :: Status Source #

OK 200

status201 :: Status Source #

Created 201

created201 :: Status Source #

Created 201

status202 :: Status Source #

Accepted 202

Since: 0.6.6

accepted202 :: Status Source #

Accepted 202

Since: 0.6.6

status203 :: Status Source #

Non-Authoritative Information 203

Since: 0.6.6

nonAuthoritative203 :: Status Source #

Non-Authoritative Information 203

Since: 0.6.6

status204 :: Status Source #

No Content 204

Since: 0.6.6

noContent204 :: Status Source #

No Content 204

Since: 0.6.6

status205 :: Status Source #

Reset Content 205

Since: 0.6.6

resetContent205 :: Status Source #

Reset Content 205

Since: 0.6.6

status206 :: Status Source #

Partial Content 206

Since: 0.5.1

partialContent206 :: Status Source #

Partial Content 206

Since: 0.5.1

status300 :: Status Source #

Multiple Choices 300

multipleChoices300 :: Status Source #

Multiple Choices 300

status301 :: Status Source #

Moved Permanently 301

movedPermanently301 :: Status Source #

Moved Permanently 301

status302 :: Status Source #

Found 302

found302 :: Status Source #

Found 302

status303 :: Status Source #

See Other 303

seeOther303 :: Status Source #

See Other 303

status304 :: Status Source #

Not Modified 304

Since: 0.6.1

notModified304 :: Status Source #

Not Modified 304

Since: 0.6.1

status305 :: Status Source #

Use Proxy 305

Since: 0.6.6

useProxy305 :: Status Source #

Use Proxy 305

Since: 0.6.6

status307 :: Status Source #

Temporary Redirect 307

Since: 0.6.6

temporaryRedirect307 :: Status Source #

Temporary Redirect 307

Since: 0.6.6

status308 :: Status Source #

Permanent Redirect 308

Since: 0.9

permanentRedirect308 :: Status Source #

Permanent Redirect 308

Since: 0.9

status400 :: Status Source #

Bad Request 400

badRequest400 :: Status Source #

Bad Request 400

status401 :: Status Source #

Unauthorized 401

unauthorized401 :: Status Source #

Unauthorized 401

status402 :: Status Source #

Payment Required 402

Since: 0.6.6

paymentRequired402 :: Status Source #

Payment Required 402

Since: 0.6.6

status403 :: Status Source #

Forbidden 403

forbidden403 :: Status Source #

Forbidden 403

status404 :: Status Source #

Not Found 404

notFound404 :: Status Source #

Not Found 404

status405 :: Status Source #

Method Not Allowed 405

methodNotAllowed405 :: Status Source #

Method Not Allowed 405

status406 :: Status Source #

Not Acceptable 406

Since: 0.6.6

notAcceptable406 :: Status Source #

Not Acceptable 406

Since: 0.6.6

status407 :: Status Source #

Proxy Authentication Required 407

Since: 0.6.6

proxyAuthenticationRequired407 :: Status Source #

Proxy Authentication Required 407

Since: 0.6.6

status408 :: Status Source #

Request Timeout 408

Since: 0.6.6

requestTimeout408 :: Status Source #

Request Timeout 408

Since: 0.6.6

status409 :: Status Source #

Conflict 409

Since: 0.6.6

conflict409 :: Status Source #

Conflict 409

Since: 0.6.6

status410 :: Status Source #

Gone 410

Since: 0.6.6

gone410 :: Status Source #

Gone 410

Since: 0.6.6

status411 :: Status Source #

Length Required 411

Since: 0.6.6

lengthRequired411 :: Status Source #

Length Required 411

Since: 0.6.6

status412 :: Status Source #

Precondition Failed 412

Since: 0.6.1

preconditionFailed412 :: Status Source #

Precondition Failed 412

Since: 0.6.1

status413 :: Status Source #

Request Entity Too Large 413

Since: 0.6.6

requestEntityTooLarge413 :: Status Source #

Request Entity Too Large 413

Since: 0.6.6

status414 :: Status Source #

Request-URI Too Long 414

Since: 0.6.6

requestURITooLong414 :: Status Source #

Request-URI Too Long 414

Since: 0.6.6

status415 :: Status Source #

Unsupported Media Type 415

Since: 0.6.6

unsupportedMediaType415 :: Status Source #

Unsupported Media Type 415

Since: 0.6.6

status416 :: Status Source #

Requested Range Not Satisfiable 416

Since: 0.6.1

requestedRangeNotSatisfiable416 :: Status Source #

Requested Range Not Satisfiable 416

Since: 0.6.1

status417 :: Status Source #

Expectation Failed 417

Since: 0.6.6

expectationFailed417 :: Status Source #

Expectation Failed 417

Since: 0.6.6

status418 :: Status Source #

I'm a teapot 418

Since: 0.6.6

imATeapot418 :: Status Source #

I'm a teapot 418

Since: 0.6.6

status422 :: Status Source #

Unprocessable Entity 422 (RFC 4918)

Since: 0.9.1

unprocessableEntity422 :: Status Source #

Unprocessable Entity 422 (RFC 4918)

Since: 0.9.1

status428 :: Status Source #

Precondition Required 428 (RFC 6585)

Since: 0.8.5

preconditionRequired428 :: Status Source #

Precondition Required 428 (RFC 6585)

Since: 0.8.5

status429 :: Status Source #

Too Many Requests 429 (RFC 6585)

Since: 0.8.5

tooManyRequests429 :: Status Source #

Too Many Requests 429 (RFC 6585)

Since: 0.8.5

status431 :: Status Source #

Request Header Fields Too Large 431 (RFC 6585)

Since: 0.8.5

requestHeaderFieldsTooLarge431 :: Status Source #

Request Header Fields Too Large 431 (RFC 6585)

Since: 0.8.5

status500 :: Status Source #

Internal Server Error 500

internalServerError500 :: Status Source #

Internal Server Error 500

status501 :: Status Source #

Not Implemented 501

Since: 0.6.1

notImplemented501 :: Status Source #

Not Implemented 501

Since: 0.6.1

status502 :: Status Source #

Bad Gateway 502

Since: 0.6.6

badGateway502 :: Status Source #

Bad Gateway 502

Since: 0.6.6

status503 :: Status Source #

Service Unavailable 503

Since: 0.6.6

serviceUnavailable503 :: Status Source #

Service Unavailable 503

Since: 0.6.6

status504 :: Status Source #

Gateway Timeout 504

Since: 0.6.6

gatewayTimeout504 :: Status Source #

Gateway Timeout 504

Since: 0.6.6

status505 :: Status Source #

HTTP Version Not Supported 505

Since: 0.6.6

status511 :: Status Source #

Network Authentication Required 511 (RFC 6585)

Since: 0.8.5

networkAuthenticationRequired511 :: Status Source #

Network Authentication Required 511 (RFC 6585)

Since: 0.8.5

httpVersionNotSupported505 :: Status Source #

HTTP Version Not Supported 505

Since: 0.6.6

Checking status code category

statusIsInformational :: Status -> Bool Source #

Informational class

Checks if the status is in the 1XX range.

Since: 0.8.0

statusIsSuccessful :: Status -> Bool Source #

Successful class

Checks if the status is in the 2XX range.

Since: 0.8.0

statusIsRedirection :: Status -> Bool Source #

Redirection class

Checks if the status is in the 3XX range.

Since: 0.8.0

statusIsClientError :: Status -> Bool Source #

Client Error class

Checks if the status is in the 4XX range.

Since: 0.8.0

statusIsServerError :: Status -> Bool Source #

Server Error class

Checks if the status is in the 5XX range.

Since: 0.8.0