choonkeat / elm-webapp / Webapp.Server.HTTP

Data types and their helper functions to work with HTTP handlers

Definition


type alias Body =
String

Alias for String


type alias Headers =
Json.Decode.Value

Alias for opaque Json.Encode.Value


type Method
    = GET
    | HEAD
    | POST
    | PUT
    | DELETE
    | CONNECT
    | OPTIONS
    | TRACE
    | PATCH

Custom type representing all http methods


type alias Request =
Json.Decode.Value

Alias for opaque Json.Encode.Value


type alias Response =
{ statusCode : StatusCode
, headers : List ( String
, Json.Encode.Value )
, body : String 
}


type StatusCode
    = StatusContinue
    | StatusSwitchingProtocols
    | StatusProcessing
    | StatusEarlyHints
    | StatusOK
    | StatusCreated
    | StatusAccepted
    | StatusNonAuthoritativeInformation
    | StatusNoContent
    | StatusResetContent
    | StatusPartialContent
    | StatusMultiStatus
    | StatusAlreadyReported
    | StatusIMUsed
    | StatusMultipleChoices
    | StatusMovedPermanently
    | StatusFound
    | StatusSeeOther
    | StatusNotModified
    | StatusUseProxy
    | StatusTemporaryRedirect
    | StatusPermanentRedirect
    | StatusBadRequest
    | StatusUnauthorized
    | StatusPaymentRequired
    | StatusForbidden
    | StatusNotFound
    | StatusMethodNotAllowed
    | StatusNotAcceptable
    | StatusProxyAuthenticationRequired
    | StatusRequestTimeout
    | StatusConflict
    | StatusGone
    | StatusLengthRequired
    | StatusPreconditionFailed
    | StatusPayloadTooLarge
    | StatusURITooLong
    | StatusUnsupportedMediaType
    | StatusRangeNotSatisfiable
    | StatusExpectationFailed
    | StatusMisdirectedRequest
    | StatusUnprocessableEntity
    | StatusLocked
    | StatusFailedDependency
    | StatusTooEarly
    | StatusUpgradeRequired
    | StatusPreconditionRequired
    | StatusTooManyRequests
    | StatusRequestHeaderFieldsTooLarge
    | StatusUnavailableForLegalReasons
    | StatusInternalServerError
    | StatusNotImplemented
    | StatusBadGateway
    | StatusServiceUnavailable
    | StatusGatewayTimeout
    | StatusHTTPVersionNotSupported
    | StatusVariantAlsoNegotiates
    | StatusInsufficientStorage
    | StatusLoopDetected
    | StatusNotExtended
    | StatusNetworkAuthenticationRequired

Custom type representing all http StatusCode


type alias Url =
String

Alias for String

Common Helpers

bodyOf : Request -> String

Returns request body from Request

headersOf : Request -> Headers

Returns request headers from Request

methodFromString : String -> Method

Parse a String and return as http Method

methodOf : Request -> Method

Returns http method from Request

methodString : Method -> String

Returns http Method as String

pathOf : Request -> String

Returns request path from Request

statusInt : StatusCode -> Basics.Int

Returns http StatusCode as integer

urlOf : Request -> String

Returns url from Request