packages feed

mu-grpc-server 0.4.0.0 → 0.5.0.0

raw patch · 3 files changed

+18/−14 lines, 3 filesdep ~mu-grpc-serverdep ~mu-rpcsetup-changedPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: mu-grpc-server, mu-rpc

API changes (from Hackage documentation)

+ Mu.GRpc.Server: instance forall snm mnm anm (fullP :: Mu.Rpc.Package snm mnm anm (Mu.Rpc.TypeRef snm)) (p :: Mu.GRpc.Bridge.GRpcMessageProtocol) (m :: * -> *) (chn :: Mu.Server.ServiceChain snm) (name :: snm) (methods :: [snm]) (rest :: [Mu.Rpc.Service snm mnm anm (Mu.Rpc.TypeRef snm)]) (hs :: [[*]]). (TypeError ...) => Mu.GRpc.Server.GRpcServiceHandlers fullP p m chn ('Mu.Rpc.OneOf name methods : rest) hs

Files

Setup.hs view
@@ -1,2 +1,2 @@-import Distribution.Simple+import           Distribution.Simple main = defaultMain
mu-grpc-server.cabal view
@@ -1,5 +1,5 @@ name:               mu-grpc-server-version:            0.4.0.0+version:            0.5.0.0 synopsis:           gRPC servers for Mu definitions description:   With @mu-grpc-server@ you can easily build gRPC servers for mu-haskell!@@ -23,7 +23,7 @@ library   exposed-modules:  Mu.GRpc.Server   build-depends:-      async             >=2.2     && < 3+      async             >=2.2     && <3     , avro              >=0.5.1   && <0.6     , base              >=4.12    && <5     , binary            >=0.8     && <0.9@@ -31,10 +31,10 @@     , conduit           >=1.3.2   && <2     , http2-grpc-types  >=0.5     && <0.6     , mtl               >=2.2     && <3-    , mu-grpc-common    ==0.4.*-    , mu-protobuf       ==0.4.*-    , mu-rpc            ==0.4.*-    , mu-schema         ==0.3.*+    , mu-grpc-common    >=0.4     && <0.5+    , mu-protobuf       >=0.4     && <0.5+    , mu-rpc            >=0.5     && <0.6+    , mu-schema         >=0.3     && <0.4     , sop-core          >=0.5     && <0.6     , stm               >=2.5     && <3     , stm-conduit       >=4       && <5@@ -50,7 +50,7 @@ executable grpc-example-server   main-is:          ExampleServer.hs   build-depends:-      async             >=2.2     && < 3+      async             >=2.2     && <3     , avro              >=0.5.1   && <0.6     , base              >=4.12    && <5     , binary            >=0.8     && <0.9@@ -58,11 +58,11 @@     , conduit           >=1.3.2   && <2     , http2-grpc-types  >=0.5     && <0.6     , mtl               >=2.2     && <3-    , mu-grpc-common    ==0.4.*-    , mu-grpc-server    ==0.4.*-    , mu-protobuf       ==0.4.*-    , mu-rpc            ==0.4.*-    , mu-schema         ==0.3.*+    , mu-grpc-common    >=0.4     && <0.5+    , mu-grpc-server+    , mu-protobuf       >=0.4     && <0.5+    , mu-rpc            >=0.5     && <0.6+    , mu-schema         >=0.3     && <0.4     , sop-core          >=0.5     && <0.6     , stm               >=2.5     && <3     , stm-conduit       >=4       && <5
src/Mu/GRpc/Server.hs view
@@ -47,6 +47,7 @@ import           Data.Conduit.TMChan import           Data.Kind import           Data.Proxy+import           GHC.TypeLits import           Network.GRPC.HTTP2.Encoding        (GRPCInput, GRPCOutput, gzip, uncompressed) import           Network.GRPC.HTTP2.Types           (GRPCStatus (..), GRPCStatusCode (..)) import           Network.GRPC.Server.Handlers.Trans@@ -174,12 +175,15 @@                               p m chn (MappingRight chn name) methods h          , GRpcServiceHandlers fullP p m chn rest hs )          => GRpcServiceHandlers fullP p m chn ('Service name methods ': rest) (h ': hs) where-  gRpcServiceHandlers f pfullP pr packageName (svr :<&>: rest)+  gRpcServiceHandlers f pfullP pr packageName (ProperSvc svr :<&>: rest)     =  gRpcMethodHandlers f pfullP (Proxy @('Service name methods)) pr                           packageName serviceName svr     ++ gRpcServiceHandlers f pfullP pr packageName rest     where serviceName = BS.pack (nameVal (Proxy @name)) +instance ( GHC.TypeLits.TypeError ('Text "unions are not supported in gRPC") )+         => GRpcServiceHandlers fullP p m chn ('OneOf name methods ': rest) hs where+  gRpcServiceHandlers _ = error "unions are not supported in gRPC"  class GRpcMethodHandlers (fullP :: Package snm mnm anm (TypeRef snm))                          (fullS :: Service snm mnm anm (TypeRef snm))