Skip to content
Snippets Groups Projects
Commit bfc7adaa authored by Makarand Dharmapurikar's avatar Makarand Dharmapurikar
Browse files

Added option to echo back user agent for testing

parent 31dd6660
No related branches found
No related tags found
No related merge requests found
...@@ -82,6 +82,7 @@ static const char* kRandomFile = "test/cpp/interop/rnd.dat"; ...@@ -82,6 +82,7 @@ static const char* kRandomFile = "test/cpp/interop/rnd.dat";
const char kEchoInitialMetadataKey[] = "x-grpc-test-echo-initial"; const char kEchoInitialMetadataKey[] = "x-grpc-test-echo-initial";
const char kEchoTrailingBinMetadataKey[] = "x-grpc-test-echo-trailing-bin"; const char kEchoTrailingBinMetadataKey[] = "x-grpc-test-echo-trailing-bin";
const char kEchoUserAgentKey[] = "x-grpc-test-echo-useragent";
void MaybeEchoMetadata(ServerContext* context) { void MaybeEchoMetadata(ServerContext* context) {
const auto& client_metadata = context->client_metadata(); const auto& client_metadata = context->client_metadata();
...@@ -98,6 +99,15 @@ void MaybeEchoMetadata(ServerContext* context) { ...@@ -98,6 +99,15 @@ void MaybeEchoMetadata(ServerContext* context) {
kEchoTrailingBinMetadataKey, kEchoTrailingBinMetadataKey,
grpc::string(iter->second.begin(), iter->second.end())); grpc::string(iter->second.begin(), iter->second.end()));
} }
// Check if client sent a magic key in the header that makes us echo
// back the user-agent (for testing purpose)
iter = client_metadata.find(kEchoUserAgentKey);
if (iter != client_metadata.end()) {
iter = client_metadata.find("user-agent");
if (iter != client_metadata.end()) {
context->AddInitialMetadata(kEchoUserAgentKey, iter->second.data());
}
}
} }
bool SetPayload(PayloadType type, int size, Payload* payload) { bool SetPayload(PayloadType type, int size, Payload* payload) {
...@@ -150,6 +160,7 @@ class TestServiceImpl : public TestService::Service { ...@@ -150,6 +160,7 @@ class TestServiceImpl : public TestService::Service {
public: public:
Status EmptyCall(ServerContext* context, const grpc::testing::Empty* request, Status EmptyCall(ServerContext* context, const grpc::testing::Empty* request,
grpc::testing::Empty* response) { grpc::testing::Empty* response) {
MaybeEchoMetadata(context);
return Status::OK; return Status::OK;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment