packages feed

strelka-wai 0.4 → 1

raw patch · 2 files changed

+16/−9 lines, 2 filesdep +strelka-coredep −strelkadep ~bytestringPVP ok

version bump matches the API change (PVP)

Dependencies added: strelka-core

Dependencies removed: strelka

Dependency ranges changed: bytestring

API changes (from Hackage documentation)

Files

library/Strelka/WAI.hs view
@@ -8,10 +8,10 @@ import BasePrelude import Data.Text (Text) import System.IO (stderr)-import qualified Strelka.RequestParser as A-import qualified Strelka.ResponseBuilder as B-import qualified Strelka.Executor as C-import qualified Strelka.Model as F+import qualified Strelka.Core.RequestParser as A+import qualified Strelka.Core.ResponseBuilder as B+import qualified Strelka.Core.Executor as C+import qualified Strelka.Core.Model as F import qualified Network.Wai as D import qualified Network.Wai.Handler.Warp as E import qualified Network.HTTP.Types as G@@ -21,10 +21,14 @@ import qualified Data.Text.IO as K  +-- |+-- Given a port number, a base monad executor and a route specification, starts the Warp server. strelkaServer :: Monad m => Int -> (forall a. m a -> IO (Either Text a)) -> A.RequestParser m B.ResponseBuilder -> IO () strelkaServer port runBase route =   E.run port (strelkaApplication runBase route) +-- |+-- Given a base monad executor and a route specification, produces a WAI application. strelkaApplication :: Monad m => (forall a. m a -> IO (Either Text a)) -> A.RequestParser m B.ResponseBuilder -> D.Application strelkaApplication runBase route =   \request responseHandler ->@@ -34,9 +38,12 @@         Left msg ->           do             K.hPutStrLn stderr msg-            responseHandler (waiResponse (B.run B.internalErrorStatus))+            responseHandler (waiResponse internalErrorResponse)         Right response ->           responseHandler (waiResponse response)+  where+    internalErrorResponse =+      F.Response (F.Status 500) [] (F.OutputStream (const (const (pure ()))))  strelkaRequest :: D.Request -> F.Request strelkaRequest waiRequest =@@ -45,7 +52,7 @@     method =       F.Method (H.foldCase (D.requestMethod waiRequest))     path =-      F.Path (D.rawPathInfo waiRequest)+      fmap F.PathSegment (D.pathInfo waiRequest)     query =       J.fromList (map row (D.queryString waiRequest))       where
strelka-wai.cabal view
@@ -1,7 +1,7 @@ name:   strelka-wai version:-  0.4+  1 synopsis:   WAI compatibility layer for "strelka" homepage:@@ -45,11 +45,11 @@     wai >= 3.2 && < 4,     warp >= 3.2 && < 4,     http-types >= 0.9 && < 0.10,-    strelka == 0.4.*,+    strelka-core == 0.1.*,     --      unordered-containers == 0.2.*,     case-insensitive >= 1 && < 2,     text == 1.*,-    bytestring == 0.10.*,+    bytestring >= 0.10.2 && < 0.11,     base-prelude < 2,     base < 5