aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Jorge Canizales <jcanizales@google.com>2015-06-12 22:40:37 -0700
committerGravatar Jorge Canizales <jcanizales@google.com>2015-06-13 01:30:37 -0700
commit1a3847509308f2e79be13ab1965103397ccaf4c6 (patch)
tree064f3a48650f97667cf87af4a765f3abadff165e
parent8c6bc6e5aa7051b10d612fb9e2c7f9059b03c273 (diff)
Drop repeated response headers.
-rw-r--r--src/objective-c/GRPCClient/private/NSDictionary+GRPC.m9
-rw-r--r--src/objective-c/tests/GRPCClientTests.m2
2 files changed, 4 insertions, 7 deletions
diff --git a/src/objective-c/GRPCClient/private/NSDictionary+GRPC.m b/src/objective-c/GRPCClient/private/NSDictionary+GRPC.m
index af8f4a2510..99c890e4ee 100644
--- a/src/objective-c/GRPCClient/private/NSDictionary+GRPC.m
+++ b/src/objective-c/GRPCClient/private/NSDictionary+GRPC.m
@@ -108,8 +108,8 @@
// TODO(jcanizales): Verify in a C library test that it's converting header names to lower case
// automatically.
NSString *name = [NSString stringWithCString:entry->key encoding:NSASCIIStringEncoding];
- if (!name) {
- // log?
+ if (!name || metadata[name]) {
+ // Log if name is nil?
continue;
}
id value;
@@ -119,10 +119,7 @@
} else {
value = [NSString grpc_stringFromMetadataValue:entry];
}
- if (!metadata[name]) {
- metadata[name] = [NSMutableArray array];
- }
- [metadata[name] addObject:value];
+ metadata[name] = value;
}
return metadata;
}
diff --git a/src/objective-c/tests/GRPCClientTests.m b/src/objective-c/tests/GRPCClientTests.m
index be609b1a6a..268e67af2f 100644
--- a/src/objective-c/tests/GRPCClientTests.m
+++ b/src/objective-c/tests/GRPCClientTests.m
@@ -165,7 +165,7 @@ static GRPCMethodName *kUnaryCallMethod;
XCTAssertEqual(errorOrNil.code, 16, @"Finished with unexpected error: %@", errorOrNil);
XCTAssertEqualObjects(call.responseMetadata, errorOrNil.userInfo[kGRPCStatusMetadataKey],
@"Metadata in the NSError object and call object differ.");
- NSString *challengeHeader = call.responseMetadata[@"www-authenticate"][0];
+ NSString *challengeHeader = call.responseMetadata[@"www-authenticate"];
XCTAssertGreaterThan(challengeHeader.length, 0,
@"No challenge in response headers %@", call.responseMetadata);
[expectation fulfill];