packages feed

polysemy-http 0.11.0.0 → 0.13.1.0

raw patch · 6 files changed

Files

changelog.md view
@@ -1,4 +1,4 @@-# Unreleased+# 0.13.0.0  # 0.8.0.0 
integration/Polysemy/Http/Server.hs view
@@ -20,8 +20,25 @@   ) import qualified Network.Wai.Handler.Warp as Warp import Prelude hiding (bracket)-import Servant (Get, Handler, Header, JSON, PlainText, Post, ReqBody, ServerT, serve, (:<|>) ((:<|>)), (:>))-import Servant.Client (BaseUrl (BaseUrl), Client, ClientEnv, ClientM, Scheme (Http), client, mkClientEnv, runClientM)+import Servant (+  Get,+  Handler,+  Header,+  JSON,+  NoFraming,+  PlainText,+  Post,+  ReqBody,+  ServerT,+  SourceIO,+  StreamGet,+  serve,+  (:<|>) ((:<|>)),+  (:>),+  )+import Servant.Client (BaseUrl (BaseUrl), ClientEnv, Scheme (Http), mkClientEnv)+import Servant.Client.Streaming (Client, ClientM, client, runClientM)+import Servant.Types.SourceT (source)  freePort ::   IO PortNumber@@ -48,7 +65,7 @@   :<|>   "add" :> ReqBody '[JSON] Payload :> Post '[JSON] Int   :<|>-  "stream" :> Get '[PlainText] Text+  "stream" :> StreamGet NoFraming PlainText (SourceIO Text)   :<|>   "cookie" :> Header "cookie" Text :> Get '[PlainText] Text @@ -72,7 +89,7 @@   :<|>   (\ (Payload a b) -> pure (a + b))   :<|>-  pure (Text.replicate (10 * 8192) "x")+  pure (source (replicate 10 (Text.replicate 8192 "x")))   :<|>   (\ cookies -> pure (fromMaybe "no cookies" cookies)) 
lib/Polysemy/Http/Effect/Entity.hs view
@@ -83,7 +83,7 @@ -- foo :: Entities [Encode Int, Decode Double] r => Sem r () -- @ type family Entities es r :: Constraint where-  Entities '[] r = ()+  Entities '[] _ = ()   Entities (Encode d ': ds) r = (Member (EntityEncode d) r, Entities ds r)   Entities (Decode d ': ds) r = (Member (EntityDecode d) r, Entities ds r) @@ -93,7 +93,7 @@ -- foo :: Encoders [Int, Double] r => Sem r () -- @ type family Encoders es r :: Constraint where-  Encoders '[] r = ()+  Encoders '[] _ = ()   Encoders (d ': ds) r = (Member (EntityEncode d) r, Encoders ds r)  -- |Convenience constraint for requiring multiple decoders.@@ -102,5 +102,5 @@ -- foo :: Decoders [Int, Double] r => Sem r () -- @ type family Decoders ds r :: Constraint where-  Decoders '[] r = ()+  Decoders '[] _ = ()   Decoders (d ': ds) r = (Member (EntityDecode d) r, Decoders ds r)
lib/Polysemy/Http/Http.hs view
@@ -39,7 +39,7 @@   (∀ x . StreamEvent o c h x -> Sem r x) ->   Response c ->   Sem r o-streamHandler chunkSize process response = do+streamHandler chunkSize process response =   bracket acquire release (streamLoop chunkSize process response)   where     acquire =
lib/Polysemy/Http/Interpreter/Native.hs view
@@ -6,25 +6,25 @@ import qualified Data.CaseInsensitive as CaseInsensitive import Data.CaseInsensitive (foldedCase) import Exon (exon)+import qualified Log as Log import qualified Network.HTTP.Client as HTTP import Network.HTTP.Client (BodyReader, brRead, brReadSome, httpLbs, responseClose, responseOpen) import Network.HTTP.Client.Internal (CookieJar (CJ)) import Polysemy.Internal.Tactics (liftT)-import qualified Log as Log -import Polysemy.Http.Data.Header (Header (Header), unHeaderName, unHeaderValue)+import Polysemy.Http.Data.Header (Header (..), HeaderName (..), HeaderValue (..)) import qualified Polysemy.Http.Data.HttpError as HttpError import Polysemy.Http.Data.HttpError (HttpError) import Polysemy.Http.Data.Request (-  Body (Body),-  Host (Host),-  Path (Path),-  Request (Request),-  Tls (Tls),+  Body (..),+  Host (..),+  Path (..),+  Port (..),+  QueryKey (..),+  QueryValue (..),+  Request (..),+  Tls (..),   methodUpper,-  unPort,-  unQueryKey,-  unQueryValue,   ) import Polysemy.Http.Data.Response (Response (Response)) import qualified Polysemy.Http.Effect.Http as Http@@ -48,11 +48,11 @@   }   where     queryParams =-      bimap (encodeUtf8 . unQueryKey) (fmap (encodeUtf8 . unQueryValue)) <$> query+      bimap (encodeUtf8 @Text . coerce) (fmap (encodeUtf8 @Text . coerce)) <$> query     port =-      maybe (if tls then 443 else 80) unPort portOverride+      maybe (if tls then 443 else 80) (coerce) portOverride     encodedHeaders =-      bimap (CaseInsensitive.mk . encodeUtf8 . unHeaderName) (encodeUtf8 . unHeaderValue) <$> headers+      bimap (CaseInsensitive.mk . encodeUtf8 @Text . coerce) (encodeUtf8 @Text . coerce) <$> headers  convertResponse :: HTTP.Response b -> Response b convertResponse response =
polysemy-http.cabal view
@@ -1,29 +1,29 @@ cabal-version: 2.2 --- This file has been generated from package.yaml by hpack version 0.35.0.+-- This file has been generated from package.yaml by hpack version 0.36.1. -- -- see: https://github.com/sol/hpack  name:           polysemy-http-version:        0.11.0.0+version:        0.13.1.0 synopsis:       Polysemy effects for HTTP clients description:    See https://hackage.haskell.org/package/polysemy-http/docs/Polysemy-Http.html category:       Network-homepage:       https://git.tryp.io/tek/polysemy-http-bug-reports:    https://git.tryp.io/tek/polysemy-http/issues+homepage:       https://github.com/tek/polysemy-http#readme+bug-reports:    https://github.com/tek/polysemy-http/issues author:         Torsten Schmits maintainer:     hackage@tryp.io-copyright:      2022 Torsten Schmits+copyright:      2025 Torsten Schmits license:        BSD-2-Clause-Patent license-file:   LICENSE build-type:     Simple extra-source-files:-    changelog.md     readme.md+    changelog.md  source-repository head   type: git-  location: https://git.tryp.io/tek/polysemy-http+  location: https://github.com/tek/polysemy-http  library   exposed-modules:@@ -47,87 +47,62 @@   hs-source-dirs:       lib   default-extensions:+      StrictData       AllowAmbiguousTypes       ApplicativeDo-      BangPatterns-      BinaryLiterals       BlockArguments-      ConstraintKinds       DataKinds       DefaultSignatures       DeriveAnyClass-      DeriveDataTypeable-      DeriveFoldable-      DeriveFunctor-      DeriveGeneric-      DeriveLift-      DeriveTraversable       DerivingStrategies       DerivingVia       DisambiguateRecordFields-      DoAndIfThenElse       DuplicateRecordFields-      EmptyCase-      EmptyDataDecls-      ExistentialQuantification-      FlexibleContexts-      FlexibleInstances       FunctionalDependencies       GADTs-      GeneralizedNewtypeDeriving-      InstanceSigs-      KindSignatures       LambdaCase       LiberalTypeSynonyms-      MultiParamTypeClasses+      MonadComprehensions       MultiWayIf-      NamedFieldPuns       OverloadedLabels       OverloadedLists       OverloadedStrings       PackageImports       PartialTypeSignatures-      PatternGuards       PatternSynonyms-      PolyKinds       QuantifiedConstraints       QuasiQuotes-      RankNTypes       RecordWildCards       RecursiveDo       RoleAnnotations-      ScopedTypeVariables-      StandaloneDeriving       TemplateHaskell-      TupleSections-      TypeApplications       TypeFamilies       TypeFamilyDependencies-      TypeOperators-      TypeSynonymInstances       UndecidableInstances       UnicodeSyntax       ViewPatterns-  ghc-options: -Wall -Wredundant-constraints -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Widentities -Wunused-packages -fplugin=Polysemy.Plugin+      OverloadedRecordDot+      NoFieldSelectors+  ghc-options: -fplugin=Polysemy.Plugin -Wall -Widentities -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Wredundant-constraints -Wunused-type-patterns -Wunused-packages   build-depends:-      aeson >=1.4 && <2.2-    , base >=4.12 && <5-    , case-insensitive >=1.2-    , exon >=0.3-    , http-client >=0.5.14-    , http-client-tls >=0.3.1-    , http-types >=0.12.3-    , polysemy ==1.9.*-    , polysemy-plugin ==0.4.*-    , prelate ==0.5.*-    , time+      aeson >=2.1.0.0 && <2.3+    , base >=4.17.2.1 && <4.21+    , case-insensitive >=1.2.0.11 && <1.3+    , exon >=1.4.0.0 && <1.8+    , http-client >=0.5.13.1 && <0.8+    , http-client-tls >=0.3.0 && <0.4+    , http-types >=0.12.3 && <0.13+    , polysemy >=1.9.0.0 && <1.10+    , polysemy-plugin >=0.4.4.0 && <0.5+    , prelate >=0.5.0.0 && <0.9+    , time >=1.12.2 && <1.13   mixins:       base hiding (Prelude)     , prelate (Prelate as Prelude)     , prelate hiding (Prelate)-  default-language: Haskell2010+  default-language: GHC2021 -test-suite polysemy-http-integration+test-suite integration   type: exitcode-stdio-1.0   main-is: Main.hs   other-modules:@@ -139,91 +114,67 @@   hs-source-dirs:       integration   default-extensions:+      StrictData       AllowAmbiguousTypes       ApplicativeDo-      BangPatterns-      BinaryLiterals       BlockArguments-      ConstraintKinds       DataKinds       DefaultSignatures       DeriveAnyClass-      DeriveDataTypeable-      DeriveFoldable-      DeriveFunctor-      DeriveGeneric-      DeriveLift-      DeriveTraversable       DerivingStrategies       DerivingVia       DisambiguateRecordFields-      DoAndIfThenElse       DuplicateRecordFields-      EmptyCase-      EmptyDataDecls-      ExistentialQuantification-      FlexibleContexts-      FlexibleInstances       FunctionalDependencies       GADTs-      GeneralizedNewtypeDeriving-      InstanceSigs-      KindSignatures       LambdaCase       LiberalTypeSynonyms-      MultiParamTypeClasses+      MonadComprehensions       MultiWayIf-      NamedFieldPuns       OverloadedLabels       OverloadedLists       OverloadedStrings       PackageImports       PartialTypeSignatures-      PatternGuards       PatternSynonyms-      PolyKinds       QuantifiedConstraints       QuasiQuotes-      RankNTypes       RecordWildCards       RecursiveDo       RoleAnnotations-      ScopedTypeVariables-      StandaloneDeriving       TemplateHaskell-      TupleSections-      TypeApplications       TypeFamilies       TypeFamilyDependencies-      TypeOperators-      TypeSynonymInstances       UndecidableInstances       UnicodeSyntax       ViewPatterns-  ghc-options: -Wall -Wredundant-constraints -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Widentities -Wunused-packages -fplugin=Polysemy.Plugin -threaded -rtsopts -with-rtsopts=-N+      OverloadedRecordDot+      NoFieldSelectors+  ghc-options: -fplugin=Polysemy.Plugin -threaded -rtsopts -with-rtsopts=-N -Wall -Widentities -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Wredundant-constraints -Wunused-type-patterns -Wunused-packages   build-depends:-      aeson-    , base >=4.12 && <5-    , exon-    , hedgehog-    , http-client-    , network-    , polysemy ==1.9.*+      aeson >=2.1.0.0 && <2.3+    , base >=4.17.2.1 && <4.21+    , exon >=1.4.0.0 && <1.8+    , hedgehog >=1.1.2 && <1.6+    , http-client >=0.5.13.1 && <0.8+    , network >=3.1.2.9 && <3.2+    , polysemy >=1.9.0.0 && <1.10     , polysemy-http-    , polysemy-plugin ==0.4.*-    , prelate ==0.5.*-    , servant-client-    , servant-server-    , tasty-    , tasty-hedgehog-    , warp+    , polysemy-plugin >=0.4.4.0 && <0.5+    , prelate >=0.5.0.0 && <0.9+    , servant >=0.19.1 && <0.21+    , servant-client >=0.19 && <0.21+    , servant-server >=0.19.2 && <0.21+    , tasty >=1.2.2 && <1.6+    , tasty-hedgehog >=1.3.0.0 && <1.5+    , warp >=3.3.21 && <3.5   mixins:       base hiding (Prelude)     , prelate (Prelate as Prelude)     , prelate hiding (Prelate)-  default-language: Haskell2010+  default-language: GHC2021 -test-suite polysemy-http-unit+test-suite polysemy-http-test   type: exitcode-stdio-1.0   main-is: Main.hs   other-modules:@@ -233,81 +184,56 @@   hs-source-dirs:       test   default-extensions:+      StrictData       AllowAmbiguousTypes       ApplicativeDo-      BangPatterns-      BinaryLiterals       BlockArguments-      ConstraintKinds       DataKinds       DefaultSignatures       DeriveAnyClass-      DeriveDataTypeable-      DeriveFoldable-      DeriveFunctor-      DeriveGeneric-      DeriveLift-      DeriveTraversable       DerivingStrategies       DerivingVia       DisambiguateRecordFields-      DoAndIfThenElse       DuplicateRecordFields-      EmptyCase-      EmptyDataDecls-      ExistentialQuantification-      FlexibleContexts-      FlexibleInstances       FunctionalDependencies       GADTs-      GeneralizedNewtypeDeriving-      InstanceSigs-      KindSignatures       LambdaCase       LiberalTypeSynonyms-      MultiParamTypeClasses+      MonadComprehensions       MultiWayIf-      NamedFieldPuns       OverloadedLabels       OverloadedLists       OverloadedStrings       PackageImports       PartialTypeSignatures-      PatternGuards       PatternSynonyms-      PolyKinds       QuantifiedConstraints       QuasiQuotes-      RankNTypes       RecordWildCards       RecursiveDo       RoleAnnotations-      ScopedTypeVariables-      StandaloneDeriving       TemplateHaskell-      TupleSections-      TypeApplications       TypeFamilies       TypeFamilyDependencies-      TypeOperators-      TypeSynonymInstances       UndecidableInstances       UnicodeSyntax       ViewPatterns-  ghc-options: -Wall -Wredundant-constraints -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Widentities -Wunused-packages -fplugin=Polysemy.Plugin -threaded -rtsopts -with-rtsopts=-N+      OverloadedRecordDot+      NoFieldSelectors+  ghc-options: -fplugin=Polysemy.Plugin -threaded -rtsopts -with-rtsopts=-N -Wall -Widentities -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Wredundant-constraints -Wunused-type-patterns -Wunused-packages   build-depends:-      base >=4.12 && <5-    , exon-    , hedgehog-    , http-client-    , polysemy ==1.9.*+      base >=4.17.2.1 && <4.21+    , exon >=1.4.0.0 && <1.8+    , hedgehog >=1.1.2 && <1.6+    , http-client >=0.5.13.1 && <0.8+    , polysemy >=1.9.0.0 && <1.10     , polysemy-http-    , polysemy-plugin ==0.4.*-    , prelate ==0.5.*-    , tasty-    , tasty-hedgehog+    , polysemy-plugin >=0.4.4.0 && <0.5+    , prelate >=0.5.0.0 && <0.9+    , tasty >=1.2.2 && <1.6+    , tasty-hedgehog >=1.3.0.0 && <1.5   mixins:       base hiding (Prelude)     , prelate (Prelate as Prelude)     , prelate hiding (Prelate)-  default-language: Haskell2010+  default-language: GHC2021