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 +1/−1
- mu-grpc-server.cabal +12/−12
- src/Mu/GRpc/Server.hs +5/−1
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))