3434import com .google .api .gax .rpc .ServerStreamingCallable ;
3535import com .google .api .gax .rpc .StreamController ;
3636import com .google .common .base .Preconditions ;
37+ import com .google .protobuf .TypeRegistry ;
3738
3839/**
3940 * {@code HttpJsonDirectServerStreamingCallable} creates server-streaming REST calls.
@@ -49,17 +50,24 @@ class HttpJsonDirectServerStreamingCallable<RequestT, ResponseT>
4950 extends ServerStreamingCallable <RequestT , ResponseT > {
5051
5152 private final ApiMethodDescriptor <RequestT , ResponseT > descriptor ;
53+ private final TypeRegistry typeRegistry ;
5254
53- HttpJsonDirectServerStreamingCallable (ApiMethodDescriptor <RequestT , ResponseT > descriptor ) {
55+ HttpJsonDirectServerStreamingCallable (
56+ ApiMethodDescriptor <RequestT , ResponseT > descriptor , TypeRegistry typeRegistry ) {
5457 this .descriptor = descriptor ;
58+ this .typeRegistry = typeRegistry ;
5559 }
5660
5761 @ Override
5862 public void call (
59- RequestT request , ResponseObserver <ResponseT > responseObserver , ApiCallContext context ) {
60-
63+ RequestT request , ResponseObserver <ResponseT > responseObserver , ApiCallContext inputContext ) {
6164 Preconditions .checkNotNull (request );
6265 Preconditions .checkNotNull (responseObserver );
66+ HttpJsonCallContext context = HttpJsonCallContext .createDefault ().nullToSelf (inputContext );
67+
68+ context =
69+ context .withCallOptions (
70+ context .getCallOptions ().toBuilder ().setTypeRegistry (typeRegistry ).build ());
6371
6472 HttpJsonClientCall <RequestT , ResponseT > call = HttpJsonClientCalls .newCall (descriptor , context );
6573 HttpJsonDirectStreamController <RequestT , ResponseT > controller =
0 commit comments