packages feed

trasa-server 0.5.2 → 0.5.3

raw patch · 2 files changed

+7/−3 lines, 2 files

Files

src/Trasa/Server.hs view
@@ -33,6 +33,7 @@ import qualified Network.HTTP.Media.RenderHeader as N import qualified Network.HTTP.Types.Status as N import qualified Network.Wai as Wai+import qualified Network.Wai.Parse as Wai  import Trasa.Core @@ -41,6 +42,7 @@ data TrasaEnv = TrasaEnv   { trasaHeaders :: Headers   , trasaQueryString :: QueryString+  , trasaRequestBodyType :: Maybe Wai.RequestBodyType   }  newtype TrasaT m a = TrasaT@@ -74,8 +76,9 @@   :: TrasaT m a   -> M.Map (CI BS.ByteString) T.Text -- ^ Headers   -> QueryString -- ^ Query string parameters+  -> Maybe Wai.RequestBodyType -- ^ Request body type from @wai-extra@   -> m (Either TrasaErr a, M.Map (CI BS.ByteString) T.Text)-runTrasaT trasa headers queryStrings = (flip runReaderT (TrasaEnv headers queryStrings) . flip runStateT M.empty . runExceptT  . unTrasaT) trasa+runTrasaT trasa headers queryStrings mrequestBodyType = (flip runReaderT (TrasaEnv headers queryStrings mrequestBodyType) . flip runStateT M.empty . runExceptT  . unTrasaT) trasa  mapTrasaT :: (forall x. m x -> n x) -> TrasaT m a -> TrasaT n a mapTrasaT eta = TrasaT . mapExceptT (mapStateT (mapReaderT eta)) . unTrasaT@@ -105,7 +108,8 @@             let queryStrings = decodeQuery (Wai.queryString req)                 url = Url (Wai.pathInfo req) queryStrings                 dispatch = dispatchWith toMeta makeResponse madeRouter method accepts url content-            runTrasaT dispatch headers queryStrings >>= \case+                mrequestBodyType = Wai.getRequestBodyType req+            runTrasaT dispatch headers queryStrings mrequestBodyType >>= \case               (resErr,newHeaders) -> case join resErr of                 Left (TrasaErr stat errBody) ->                   respond (Wai.responseLBS stat (encodeHeaders newHeaders) errBody)
trasa-server.cabal view
@@ -2,7 +2,7 @@ name:   trasa-server version:-  0.5.2+  0.5.3 synopsis:   Type safe web server description: