sprinkles-0.3.5.0: src/Web/Sprinkles/Backends/Loader/RequestBodyLoader.hs
{-#LANGUAGE NoImplicitPrelude #-}
{-#LANGUAGE OverloadedStrings #-}
{-#LANGUAGE TypeFamilies #-}
{-#LANGUAGE MultiParamTypeClasses #-}
{-#LANGUAGE FlexibleInstances #-}
{-#LANGUAGE FlexibleContexts #-}
{-#LANGUAGE LambdaCase #-}
-- | File backend loader
module Web.Sprinkles.Backends.Loader.RequestBodyLoader
( requestBodyLoader
)
where
import ClassyPrelude
import Web.Sprinkles.Backends.Data
( BackendData (..)
, BackendMeta (..)
, BackendSource (..)
, Items (..)
, reduceItems
, rawFromLBS
)
import Web.Sprinkles.Logger (LogLevel (..))
import Web.Sprinkles.Backends.Loader.Type
import Network.Mime
( MimeType
, MimeMap
, defaultMimeLookup
, defaultMimeMap
, mimeByExt
, defaultMimeType
, FileName
)
requestBodyLoader :: Loader
requestBodyLoader writeLog pbs fetchMode fetchOrder = do
contents <- rawFromLBS <$> loadPost pbs
let meta = BackendMeta
{ bmMimeType = contentType pbs
, bmMTime = Nothing
, bmName = "POST"
, bmPath = "POST"
, bmSize = Nothing
}
return [BackendSource meta contents]