Trasa.Core

Types

data Bodiedness

data Content

data Payload

data Router route

Existential

data Prepared

data Concealed

data Constructed

conceal

mapConstructed

Request Types

Method

data Method

encodeMethod

decodeMethod

Queries

data QueryString

encodeQuery

decodeQuery

Url

data Url

encodeUrl

decodeUrl

Errors

data TrasaErr

status

Using Routes

prepareWith

dispatchWith

parseWith

linkWith

payloadWith

requestWith

routerWith

Defining Routes

Path

data Path

match

capture

end

(./)

mapPath

appendPath

Query

data Param

data Query

data Parameter

data Rec u a b

demoteParameter

flag

optional

list

qend

(.&)

mapQuery

Request Body

data RequestBody

body

bodyless

encodeRequestBody

decodeRequestBody

mapRequestBody

Response Body

data ResponseBody rpf response

resp

encodeResponseBody

decodeResponseBody

mapResponseBody

Many

data Many f a

one

mapMany

Codecs

data CaptureEncoding a

data CaptureDecoding a

data CaptureCodec a

data BodyEncoding a

data BodyDecoding a

data BodyCodec a

Converting Codecs

captureCodecToCaptureEncoding

captureCodecToCaptureDecoding

bodyCodecToBodyEncoding

bodyCodecToBodyDecoding

Type Class based Codecs

showReadCaptureCodec

showReadBodyCodec

Argument Currying

type family ParamBase (param :: Param) :: Type where ...

type family Arguments (pieces :: [Type]) (querys :: [Param]) (body :: Bodiedness) (result :: Type) :: Type where ...

handler

Helpers

prettyRouter