happstack-server-7.1.7.1: Web related tools and services.

Safe Haskell | None

Happstack.Server.Internal.MessageWrap

Synopsis

- queryInput :: SURI -> [(String, Input)]
- data BodyPolicy = BodyPolicy {
  - inputWorker :: Int64 -> Int64 -> Int64 -> InputWorker
  - maxDisk :: Int64
  - maxRAM :: Int64
  - maxHeader :: Int64
  }
- defaultBodyPolicy :: FilePath -> Int64 -> Int64 -> Int64 -> BodyPolicy
- bodyInput :: MonadIO m => BodyPolicy -> Request -> m ([(String, Input)], Maybe String)
- formDecode :: String -> [(String, Input)]
- decodeBody :: BodyPolicy -> Maybe ContentType -> ByteString -> IO ([(String, Input)], Maybe String)
- multipartDecode :: InputWorker -> [(String, String)] -> ByteString -> IO ([(String, Input)], Maybe String)
- pathEls :: String -> [String]
- splitList :: Eq a => a -> [a] -> [[a]]
- splitListBy :: (a -> Bool) -> [a] -> [[a]]
- split :: (a -> Bool) -> [a] -> ([a], [a])
- defaultInputIter :: FileSaver -> FilePath -> Int64 -> Int64 -> Int64 -> Int64 -> Int64 -> Int64 -> Work -> IO InputIter

# Documentation

queryInput :: SURI -> [(String, Input)]

data BodyPolicy

see `defaultBodyPolicy`

Constructors

BodyPolicy |

Fields

inputWorker :: Int64 -> Int64 -> Int64 -> InputWorker
maxDisk :: Int64

  maximum bytes for files uploaded in this `Request`

maxRAM :: Int64

  maximum bytes for all non-file values in the `Request` body

maxHeader :: Int64

  maximum bytes of overhead for headers in `multipart/form-data`

defaultBodyPolicy

Arguments

:: FilePath | temporary directory for file uploads
-> Int64 | maximum bytes for files uploaded in this `Request`
-> Int64 | maximum bytes for all non-file values in the `Request` body
-> Int64 | maximum bytes of overhead for headers in `multipart/form-data`
-> BodyPolicy |

create a `BodyPolicy` for use with decodeBody

bodyInput :: MonadIO m => BodyPolicy -> Request -> m ([(String, Input)], Maybe String)

formDecode :: String -> [(String, Input)]

Decodes application/x-www-form-urlencoded inputs. TODO: should any of the [] be error conditions?

decodeBody :: BodyPolicy -> Maybe ContentType -> ByteString -> IO ([(String, Input)], Maybe String)

multipartDecode

Arguments

:: InputWorker |
-> [(String, String)] | Content-type parameters
-> ByteString | Request body
-> IO ([(String, Input)], Maybe String) | Input variables and values.

Decodes multipart/form-data input.

pathEls :: String -> [String]

Get the path components from a String.

splitList :: Eq a => a -> [a] -> [[a]]

Repeadly splits a list by the provided separator and collects the results

splitListBy :: (a -> Bool) -> [a] -> [[a]]

Repeatedly splits a list and collects the results

split :: (a -> Bool) -> [a] -> ([a], [a])

Split is like break, but the matching element is dropped.

defaultInputIter :: FileSaver -> FilePath -> Int64 -> Int64 -> Int64 -> Int64 -> Int64 -> Int64 -> Work -> IO InputIter