Snap.Core

The Snap Monad

data Snap a

runSnap

class MonadSnap m

data NoHandlerException

Functions for control flow and early termination

bracketSnap

finishWith

catchFinishWith

pass

terminateConnection

Escaping HTTP

type EscapeHttpHandler

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

rqQueryParams

rqPostParams

rqParam

rqPostParam

rqQueryParam

getParam

getPostParam

getQueryParam

getParams

getPostParams

getQueryParams

rqModifyParams

rqSetParam

Responses

emptyResponse

setResponseCode

setResponseStatus

rspStatus

rspStatusReason

setContentType

addResponseCookie

getResponseCookie

getResponseCookies

deleteResponseCookie

modifyResponseCookie

expireCookie

getCookie

readCookie

setContentLength

clearContentLength

redirect

redirect'

setBufferingMode

getBufferingMode

Response I/O

setResponseBody

modifyResponseBody

addToOutput

writeBuilder

writeBS

writeLazyText

writeText

writeLBS

sendFile

sendFilePartial

Timeouts

setTimeout

extendTimeout

modifyTimeout

getTimeoutAction

getTimeoutModifier

Iteratee

type Enumerator a m b

data SomeEnumerator

HTTP utilities

formatHttpTime

parseHttpTime

parseUrlEncoded

buildUrlEncoded

printUrlEncoded

urlEncode

urlEncodeBuilder

urlDecode