@@ -25,6 +25,7 @@ package server
2525
2626import cats .effect ._
2727import cats .effect .std .Dispatcher
28+ import fs2 .grpc .server .internal .Fs2StreamServerCallHandler
2829import fs2 .grpc .server .internal .Fs2UnaryServerCallHandler
2930import io .grpc ._
3031
@@ -36,32 +37,22 @@ class Fs2ServerCallHandler[F[_]: Async] private (
3637 def unaryToUnaryCall [Request , Response ](
3738 implementation : (Request , Metadata ) => F [Response ]
3839 ): ServerCallHandler [Request , Response ] =
39- Fs2UnaryServerCallHandler .unary (implementation, options, dispatcher)
40+ Fs2UnaryServerCallHandler .mkHandler (implementation, options)(_.unary(_ , dispatcher) )
4041
4142 def unaryToStreamingCall [Request , Response ](
4243 implementation : (Request , Metadata ) => Stream [F , Response ]
4344 ): ServerCallHandler [Request , Response ] =
44- Fs2UnaryServerCallHandler .stream (implementation, options, dispatcher)
45+ Fs2UnaryServerCallHandler .mkHandler (implementation, options)(_.stream(_ , dispatcher) )
4546
4647 def streamingToUnaryCall [Request , Response ](
4748 implementation : (Stream [F , Request ], Metadata ) => F [Response ]
48- ): ServerCallHandler [Request , Response ] = new ServerCallHandler [Request , Response ] {
49- def startCall (call : ServerCall [Request , Response ], headers : Metadata ): ServerCall .Listener [Request ] = {
50- val listener = dispatcher.unsafeRunSync(Fs2StreamServerCallListener [F ](call, dispatcher, options))
51- listener.unsafeUnaryResponse(new Metadata (), implementation(_, headers))
52- listener
53- }
54- }
49+ ): ServerCallHandler [Request , Response ] =
50+ Fs2StreamServerCallHandler .mkHandler(implementation, options)(_.unary(_, dispatcher))
5551
5652 def streamingToStreamingCall [Request , Response ](
5753 implementation : (Stream [F , Request ], Metadata ) => Stream [F , Response ]
58- ): ServerCallHandler [Request , Response ] = new ServerCallHandler [Request , Response ] {
59- def startCall (call : ServerCall [Request , Response ], headers : Metadata ): ServerCall .Listener [Request ] = {
60- val listener = dispatcher.unsafeRunSync(Fs2StreamServerCallListener [F ](call, dispatcher, options))
61- listener.unsafeStreamResponse(new Metadata (), implementation(_, headers))
62- listener
63- }
64- }
54+ ): ServerCallHandler [Request , Response ] =
55+ Fs2StreamServerCallHandler .mkHandler(implementation, options)(_.stream(_, dispatcher))
6556}
6657
6758object Fs2ServerCallHandler {
0 commit comments