-resolver: lts-13.19
-packages:
-- '.'
-- location: '../symantic-http'
- extra-dep: true
+resolver: lts-14.13
extra-deps:
+- ../symantic-http
- monad-classes-0.3.2.2@sha256:793faead28dafb47f115c4dec877ce3e3ffab604f134d852652385632ea0923f
nix:
packages: [zlib]
build-type: Simple
cabal-version: 1.24
-tested-with: GHC==8.4.4
+tested-with: GHC==8.6.5
extra-source-files:
stack.yaml
extra-tmp-files:
-resolver: lts-13.19
-packages:
-- '.'
-- location: '../symantic-http'
- extra-dep: true
-- location: '../symantic-http-client'
- extra-dep: true
-- location: '../symantic-http-pipes'
- extra-dep: true
-- location: '../symantic-http-server'
- extra-dep: true
+resolver: lts-14.13
extra-deps:
+- ../symantic-http
+- ../symantic-http-client
+- ../symantic-http-pipes
+- ../symantic-http-server
- monad-classes-0.3.2.2@sha256:793faead28dafb47f115c4dec877ce3e3ffab604f134d852652385632ea0923f
nix:
packages: [zlib]
build-type: Simple
cabal-version: 1.24
-tested-with: GHC==8.4.4
+tested-with: GHC==8.6.5
extra-source-files:
stack.yaml
extra-tmp-files:
-resolver: lts-13.19
-packages:
-- '.'
-- location: '../symantic-http'
- extra-dep: true
+resolver: lts-14.13
extra-deps:
+- ../symantic-http
build-type: Simple
cabal-version: 1.24
-tested-with: GHC==8.4.4
+tested-with: GHC==8.6.5
extra-source-files:
stack.yaml
extra-tmp-files:
BSL8.pack (show (BSL8.length bs))
<> ":" <> bs <> ","
+-- TODO: write something like Pbs._lines to form a Lens'
decodeNetstring ::
IsString r =>
Monad m =>
unDrawP :: Monad m => inp -> ParserP inp out m ()
unDrawP = P.hoist lift . Pp.unDraw
--- | @'parseMany' f@ groups a 'P.Producer' of 'BS.ByteString's
--- into a series of 'P.Producer's delimited by 'f',
--- where the delimiter is dropped.
+-- | @'parseMany' f@ groups a 'P.Producer' of @(inp)@
+-- into a series of 'P.Producer's of @(a)@ delimited by 'f'
+-- (which must drop the delimiter).
parseMany ::
+ forall m inp r a.
Monad m =>
- (P.Producer a m r -> P.Producer b m (P.Producer a m r)) ->
- P.Producer a m r ->
- Pg.FreeT (P.Producer b m) m r
-parseMany f = Pg.FreeT . go0
+ (P.Producer inp m r -> P.Producer a m (P.Producer inp m r)) ->
+ P.Producer inp m r ->
+ Pg.FreeT (P.Producer a m) m r
+parseMany f = go0
where
- go0 p = do
+ go0 ::
+ P.Producer inp m r ->
+ Pg.FreeT (P.Producer a m) m r
+ go0 p = Pg.FreeT $ do
P.next p >>= \case
- Left r -> return (Pg.Pure r)
- Right (bs, p') -> return $ Pg.Free (go1 (P.yield bs >> p'))
- go1 p = Pg.FreeT . go0 <$> f p
+ Left r -> return $ Pg.Pure r
+ Right (inp, p') -> return $ Pg.Free $ go1 $ P.yield inp >> p'
+
+ go1 ::
+ P.Producer inp m r ->
+ P.Producer a m (Pg.FreeT (P.Producer a m) m r)
+ go1 p = go0 <$> f p
{-
-- * Type |Lens'|
-resolver: lts-13.19
-packages:
-- '.'
-- location: '../symantic-http'
- extra-dep: true
+resolver: lts-14.13
extra-deps:
+- ../symantic-http
- monad-classes-0.3.2.2@sha256:793faead28dafb47f115c4dec877ce3e3ffab604f134d852652385632ea0923f
nix:
packages: [zlib]
--- /dev/null
+# This file was autogenerated by Stack.
+# You should not edit this file by hand.
+# For more information, please see the documentation at:
+# https://docs.haskellstack.org/en/stable/lock_files
+
+packages:
+- completed:
+ hackage: monad-classes-0.3.2.2@sha256:793faead28dafb47f115c4dec877ce3e3ffab604f134d852652385632ea0923f,2077
+ pantry-tree:
+ size: 1110
+ sha256: 7854dad860838df536897abe25cb020a685c788833c2c55f099040b73e05125b
+ original:
+ hackage: monad-classes-0.3.2.2@sha256:793faead28dafb47f115c4dec877ce3e3ffab604f134d852652385632ea0923f
+snapshots:
+- completed:
+ size: 525876
+ url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/14/13.yaml
+ sha256: 4a0e79eb194c937cc2a1852ff84d983c63ac348dc6bad5f38d20cab697036eef
+ original: lts-14.13
build-type: Simple
cabal-version: 1.24
-tested-with: GHC==8.4.4
+tested-with: GHC==8.6.5
extra-source-files:
stack.yaml
extra-tmp-files:
case matchContent @ts @(MimeDecodable (FramingYield as)) reqContentType of
Nothing -> return $ Left $ Fail st [ServerErrorContentType]
Just (MimeType mt) -> do
- let bodyBS = Wai.requestBody $ serverState_request st
+ let bodyBS = Wai.getRequestBodyChunk $ serverState_request st
return $ Right $ Right $ Right $
Right ($ ServerBodyStreamArg $
framingDecode (Proxy @framing) (mimeDecode mt) $
-resolver: lts-13.19
-packages:
-- '.'
-- location: '../symantic-http'
- extra-dep: true
+resolver: lts-14.13
extra-deps:
+- ../symantic-http
- monad-classes-0.3.2.2@sha256:793faead28dafb47f115c4dec877ce3e3ffab604f134d852652385632ea0923f
nix:
packages: [zlib]
build-type: Simple
cabal-version: 1.24
-tested-with: GHC==8.4.4
+tested-with: GHC==8.6.5
extra-source-files:
stack.yaml
extra-tmp-files:
import Control.Monad (unless)
import Data.Bool
-import Data.Char (Char)
import Data.Eq (Eq(..))
-import Data.Int (Int)
import Data.String (String)
-import System.IO (IO, putStrLn)
import Text.Show (Show(..))
-import qualified Control.Monad.Classes as MC
import qualified Data.List as List
import qualified Data.Map.Strict as Map
-import qualified Network.Wai.Handler.Warp as Warp
import qualified Test.Hspec as Hspec
import Symantic.HTTP
import Data.Functor (Functor(..), (<$>))
import System.IO (IO)
import Test.Hspec
-import Test.Tasty
+import Test.Tasty hiding (after, after_)
import Test.Tasty.Hspec
import Text.Show (Show(..), showString, showParen, ShowS)
import qualified Data.Map.Strict as Map
-resolver: lts-13.19
-packages:
-- '.'
-- location: '../symantic-http'
- extra-dep: true
-- location: '../symantic-http-client'
- extra-dep: true
-- location: '../symantic-http-pipes'
- extra-dep: true
-- location: '../symantic-http-server'
- extra-dep: true
+resolver: lts-14.13
extra-deps:
+- ../symantic-http
+- ../symantic-http-client
+- ../symantic-http-pipes
+- ../symantic-http-server
- monad-classes-0.3.2.2@sha256:793faead28dafb47f115c4dec877ce3e3ffab604f134d852652385632ea0923f
--- /dev/null
+# This file was autogenerated by Stack.
+# You should not edit this file by hand.
+# For more information, please see the documentation at:
+# https://docs.haskellstack.org/en/stable/lock_files
+
+packages:
+- completed:
+ hackage: monad-classes-0.3.2.2@sha256:793faead28dafb47f115c4dec877ce3e3ffab604f134d852652385632ea0923f,2077
+ pantry-tree:
+ size: 1110
+ sha256: 7854dad860838df536897abe25cb020a685c788833c2c55f099040b73e05125b
+ original:
+ hackage: monad-classes-0.3.2.2@sha256:793faead28dafb47f115c4dec877ce3e3ffab604f134d852652385632ea0923f
+snapshots:
+- completed:
+ size: 525876
+ url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/14/13.yaml
+ sha256: 4a0e79eb194c937cc2a1852ff84d983c63ac348dc6bad5f38d20cab697036eef
+ original: lts-14.13
build-type: Simple
cabal-version: 1.24
-tested-with: GHC==8.4.4
+tested-with: GHC==8.6.5
extra-source-files:
stack.yaml
extra-tmp-files:
-resolver: lts-13.19
-packages:
-- '.'
-extra-deps:
+resolver: lts-14.13
build-type: Simple
cabal-version: 1.24
-tested-with: GHC==8.4.4
+tested-with: GHC==8.6.5
extra-source-files:
stack.yaml
extra-tmp-files: