34
34
import com .google .api .gax .rpc .ServerStreamingCallable ;
35
35
import com .google .api .gax .rpc .StreamController ;
36
36
import com .google .common .base .Preconditions ;
37
+ import com .google .protobuf .TypeRegistry ;
37
38
38
39
/**
39
40
* {@code HttpJsonDirectServerStreamingCallable} creates server-streaming REST calls.
@@ -49,17 +50,24 @@ class HttpJsonDirectServerStreamingCallable<RequestT, ResponseT>
49
50
extends ServerStreamingCallable <RequestT , ResponseT > {
50
51
51
52
private final ApiMethodDescriptor <RequestT , ResponseT > descriptor ;
53
+ private final TypeRegistry typeRegistry ;
52
54
53
- HttpJsonDirectServerStreamingCallable (ApiMethodDescriptor <RequestT , ResponseT > descriptor ) {
55
+ HttpJsonDirectServerStreamingCallable (
56
+ ApiMethodDescriptor <RequestT , ResponseT > descriptor , TypeRegistry typeRegistry ) {
54
57
this .descriptor = descriptor ;
58
+ this .typeRegistry = typeRegistry ;
55
59
}
56
60
57
61
@ Override
58
62
public void call (
59
- RequestT request , ResponseObserver <ResponseT > responseObserver , ApiCallContext context ) {
60
-
63
+ RequestT request , ResponseObserver <ResponseT > responseObserver , ApiCallContext inputContext ) {
61
64
Preconditions .checkNotNull (request );
62
65
Preconditions .checkNotNull (responseObserver );
66
+ HttpJsonCallContext context = HttpJsonCallContext .createDefault ().nullToSelf (inputContext );
67
+
68
+ context =
69
+ context .withCallOptions (
70
+ context .getCallOptions ().toBuilder ().setTypeRegistry (typeRegistry ).build ());
63
71
64
72
HttpJsonClientCall <RequestT , ResponseT > call = HttpJsonClientCalls .newCall (descriptor , context );
65
73
HttpJsonDirectStreamController <RequestT , ResponseT > controller =
0 commit comments