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.State;
|
||||||
import io.dapr.client.domain.StateOptions;
|
import io.dapr.client.domain.StateOptions;
|
||||||
import io.dapr.serializer.DaprObjectSerializer;
|
import io.dapr.serializer.DaprObjectSerializer;
|
||||||
|
import io.dapr.utils.Constants;
|
||||||
|
import io.dapr.utils.Properties;
|
||||||
import io.dapr.utils.TypeRef;
|
import io.dapr.utils.TypeRef;
|
||||||
import io.dapr.v1.CommonProtos;
|
import io.dapr.v1.CommonProtos;
|
||||||
import io.dapr.v1.DaprGrpc;
|
import io.dapr.v1.DaprGrpc;
|
||||||
|
@ -33,6 +35,7 @@ import io.grpc.Context;
|
||||||
import io.grpc.ForwardingClientCall;
|
import io.grpc.ForwardingClientCall;
|
||||||
import io.grpc.Metadata;
|
import io.grpc.Metadata;
|
||||||
import io.grpc.MethodDescriptor;
|
import io.grpc.MethodDescriptor;
|
||||||
|
import io.grpc.Metadata.Key;
|
||||||
import io.opencensus.implcore.trace.propagation.PropagationComponentImpl;
|
import io.opencensus.implcore.trace.propagation.PropagationComponentImpl;
|
||||||
import io.opencensus.implcore.trace.propagation.TraceContextFormat;
|
import io.opencensus.implcore.trace.propagation.TraceContextFormat;
|
||||||
import io.opencensus.trace.SpanContext;
|
import io.opencensus.trace.SpanContext;
|
||||||
|
@ -483,8 +486,15 @@ public class DaprClientGrpc extends AbstractDaprClient {
|
||||||
SpanContext opencensusSpanContext = extractOpenCensusSpanContext(context);
|
SpanContext opencensusSpanContext = extractOpenCensusSpanContext(context);
|
||||||
if (opencensusSpanContext != null) {
|
if (opencensusSpanContext != null) {
|
||||||
byte[] grpcTraceBin = OPENCENSUS_BINARY_FORMAT.toByteArray(opencensusSpanContext);
|
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);
|
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