Snap.Core

The Snap Monad

data Snap a

runSnap

class MonadSnap m

data NoHandlerException

data EscapeHttpException

Functions for control flow and early termination

bracketSnap

finishWith

catchFinishWith

pass

terminateConnection

escapeHttp

Routing

method

methods

path

pathArg

dir

ifTop

route

routeLocal

Access to state

getRequest

getsRequest

getResponse

getsResponse

putRequest

putResponse

modifyRequest

modifyResponse

localRequest

withRequest

withResponse

Logging

logError

Grabbing/transforming request bodies

runRequestBody

getRequestBody

readRequestBody

transformRequestBody

HTTP Datatypes and Functions

data Request

data Response

data Headers

class HasHeaders a

type Params

data Method

data Cookie

type HttpVersion

Headers

addHeader

setHeader

getHeader

getHeaders

listHeaders

deleteHeader

ipHeaderFilter

ipHeaderFilter'

Requests

rqServerName

rqServerPort

rqRemoteAddr

rqRemotePort

rqLocalAddr

rqLocalHostname

rqIsSecure

rqContentLength

rqMethod

rqVersion

rqCookies

rqPathInfo

rqContextPath

rqURI

rqQueryString

rqParams

rqParam

getParam

getParams

rqModifyParams

rqSetParam

Responses

emptyResponse

setResponseCode

setResponseStatus

rspStatus

rspStatusReason

setContentType

addResponseCookie

getResponseCookie

getResponseCookies

deleteResponseCookie

modifyResponseCookie

expireCookie

getCookie

readCookie

setContentLength

clearContentLength

redirect

redirect'

Response I/O

setResponseBody

modifyResponseBody

addToOutput

writeBuilder

writeBS

writeLazyText

writeText

writeLBS

sendFile

sendFilePartial

Timeouts

setTimeout

getTimeoutAction

Iteratee

type Enumerator a m b

data SomeEnumerator

HTTP utilities

formatHttpTime

parseHttpTime

parseUrlEncoded

buildUrlEncoded

printUrlEncoded

urlEncode

urlEncodeBuilder

urlDecode