mirror of https://github.com/dapr/java-sdk.git
Move interceptor logic
This commit is contained in:
parent
39f729221c
commit
2a565d844e
|
@ -21,6 +21,8 @@ import io.dapr.client.domain.SaveStateRequest;
|
|||
import io.dapr.client.domain.State;
|
||||
import io.dapr.client.domain.StateOptions;
|
||||
import io.dapr.serializer.DaprObjectSerializer;
|
||||
import io.dapr.utils.Constants;
|
||||
import io.dapr.utils.Properties;
|
||||
import io.dapr.utils.TypeRef;
|
||||
import io.dapr.v1.CommonProtos;
|
||||
import io.dapr.v1.DaprGrpc;
|
||||
|
@ -33,6 +35,7 @@ import io.grpc.Context;
|
|||
import io.grpc.ForwardingClientCall;
|
||||
import io.grpc.Metadata;
|
||||
import io.grpc.MethodDescriptor;
|
||||
import io.grpc.Metadata.Key;
|
||||
import io.opencensus.implcore.trace.propagation.PropagationComponentImpl;
|
||||
import io.opencensus.implcore.trace.propagation.TraceContextFormat;
|
||||
import io.opencensus.trace.SpanContext;
|
||||
|
@ -483,8 +486,15 @@ public class DaprClientGrpc extends AbstractDaprClient {
|
|||
SpanContext opencensusSpanContext = extractOpenCensusSpanContext(context);
|
||||
if (opencensusSpanContext != null) {
|
||||
byte[] grpcTraceBin = OPENCENSUS_BINARY_FORMAT.toByteArray(opencensusSpanContext);
|
||||
headers.put(Metadata.Key.of("grpc-trace-bin", Metadata.BINARY_BYTE_MARSHALLER), grpcTraceBin);
|
||||
headers.put(Key.of("grpc-trace-bin", Metadata.BINARY_BYTE_MARSHALLER), grpcTraceBin);
|
||||
}
|
||||
|
||||
String daprApiToken = Properties.getStringOrDefault(Constants.DAPR_API_TOKEN,
|
||||
Constants.DAPR_API_TOKEN, null);
|
||||
if (daprApiToken != null) {
|
||||
headers.put(Key.of(Constants.DAPR_API_TOKEN_HEADER, Metadata.ASCII_STRING_MARSHALLER), daprApiToken);
|
||||
}
|
||||
|
||||
super.start(responseListener, headers);
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1,44 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) Microsoft Corporation.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
|
||||
package io.dapr;
|
||||
|
||||
import io.dapr.utils.Constants;
|
||||
import io.dapr.utils.Properties;
|
||||
import io.grpc.CallOptions;
|
||||
import io.grpc.Channel;
|
||||
import io.grpc.ClientCall;
|
||||
import io.grpc.ClientInterceptor;
|
||||
import io.grpc.ForwardingClientCall;
|
||||
import io.grpc.Metadata;
|
||||
import io.grpc.Metadata.Key;
|
||||
import io.grpc.MethodDescriptor;
|
||||
|
||||
/**
|
||||
* A dapr grpc client call interceptor.
|
||||
*/
|
||||
public class DaprClientGrpcInterceptor implements ClientInterceptor {
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public <ReqT, RespT> ClientCall<ReqT, RespT> interceptCall(MethodDescriptor<ReqT,
|
||||
RespT> methodDescriptor,
|
||||
CallOptions callOptions, Channel channel) {
|
||||
return new ForwardingClientCall.SimpleForwardingClientCall<ReqT, RespT>(channel.newCall(methodDescriptor,
|
||||
callOptions)) {
|
||||
@Override
|
||||
public void start(final Listener<RespT> responseListener, final Metadata headers) {
|
||||
String daprApiToken = Properties.getStringOrDefault(Constants.DAPR_API_TOKEN,
|
||||
Constants.DAPR_API_TOKEN, null);
|
||||
if (daprApiToken != null) {
|
||||
headers.put(Key.of(Constants.DAPR_API_TOKEN_HEADER, Metadata.ASCII_STRING_MARSHALLER), daprApiToken);
|
||||
}
|
||||
super.start(responseListener, headers);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue