Imported Upstream version 1.34.0
[platform/upstream/grpc.git] / src / objective-c / GRPCClient / private / GRPCCore / GRPCChannel.m
index 35402b7..5483aac 100644 (file)
 - (NSDictionary *)channelArgs {
   NSMutableDictionary *args = [NSMutableDictionary new];
 
-  NSString *userAgent = @"grpc-objc/" GRPC_OBJC_VERSION_STRING;
+  NSString *userAgent = [NSString
+      stringWithFormat:@"grpc-objc-%@/%@", [self getTransportTypeString], GRPC_OBJC_VERSION_STRING];
   NSString *userAgentPrefix = _callOptions.userAgentPrefix;
   if (userAgentPrefix.length != 0) {
     args[@GRPC_ARG_PRIMARY_USER_AGENT_STRING] =
   return args;
 }
 
+- (NSString *)getTransportTypeString {
+  switch (_callOptions.transportType) {
+    case GRPCTransportTypeCronet:
+      return @"cronet";
+    case GRPCTransportTypeInsecure:
+    case GRPCTransportTypeChttp2BoringSSL:
+      return @"cfstream";
+    default:
+      return @"unknown";
+  }
+}
+
 - (id)copyWithZone:(NSZone *)zone {
   GRPCChannelConfiguration *newConfig =
       [[GRPCChannelConfiguration alloc] initWithHost:_host callOptions:_callOptions];