Skip to content

Commit e5e1b57

Browse files
committed
wire Fs2ServerCallHandler
1 parent 792c065 commit e5e1b57

File tree

1 file changed

+7
-16
lines changed

1 file changed

+7
-16
lines changed

runtime/src/main/scala/fs2/grpc/server/Fs2ServerCallHandler.scala

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ package server
2525

2626
import cats.effect._
2727
import cats.effect.std.Dispatcher
28+
import fs2.grpc.server.internal.Fs2StreamServerCallHandler
2829
import fs2.grpc.server.internal.Fs2UnaryServerCallHandler
2930
import 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

6758
object Fs2ServerCallHandler {

0 commit comments

Comments
 (0)