|
|
|
@ -91,6 +91,7 @@ static bool proxy_mapper_map_name(grpc_exec_ctx* exec_ctx, |
|
|
|
|
char* user_cred = NULL; |
|
|
|
|
*name_to_resolve = get_http_proxy_server(exec_ctx, &user_cred); |
|
|
|
|
if (*name_to_resolve == NULL) return false; |
|
|
|
|
char* no_proxy_str = NULL; |
|
|
|
|
grpc_uri* uri = |
|
|
|
|
grpc_uri_parse(exec_ctx, server_uri, false /* suppress_errors */); |
|
|
|
|
if (uri == NULL || uri->path[0] == '\0') { |
|
|
|
@ -98,20 +99,14 @@ static bool proxy_mapper_map_name(grpc_exec_ctx* exec_ctx, |
|
|
|
|
"'http_proxy' environment variable set, but cannot " |
|
|
|
|
"parse server URI '%s' -- not using proxy", |
|
|
|
|
server_uri); |
|
|
|
|
if (uri != NULL) { |
|
|
|
|
gpr_free(user_cred); |
|
|
|
|
grpc_uri_destroy(uri); |
|
|
|
|
} |
|
|
|
|
return false; |
|
|
|
|
goto no_use_proxy; |
|
|
|
|
} |
|
|
|
|
if (strcmp(uri->scheme, "unix") == 0) { |
|
|
|
|
gpr_log(GPR_INFO, "not using proxy for Unix domain socket '%s'", |
|
|
|
|
server_uri); |
|
|
|
|
gpr_free(user_cred); |
|
|
|
|
grpc_uri_destroy(uri); |
|
|
|
|
return false; |
|
|
|
|
goto no_use_proxy; |
|
|
|
|
} |
|
|
|
|
char* no_proxy_str = gpr_getenv("no_proxy"); |
|
|
|
|
no_proxy_str = gpr_getenv("no_proxy"); |
|
|
|
|
if (no_proxy_str != NULL) { |
|
|
|
|
static const char* NO_PROXY_SEPARATOR = ","; |
|
|
|
|
bool use_proxy = true; |
|
|
|
@ -147,12 +142,7 @@ static bool proxy_mapper_map_name(grpc_exec_ctx* exec_ctx, |
|
|
|
|
gpr_free(no_proxy_hosts); |
|
|
|
|
gpr_free(server_host); |
|
|
|
|
gpr_free(server_port); |
|
|
|
|
if (!use_proxy) { |
|
|
|
|
grpc_uri_destroy(uri); |
|
|
|
|
gpr_free(*name_to_resolve); |
|
|
|
|
*name_to_resolve = NULL; |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
if (!use_proxy) goto no_use_proxy; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
grpc_arg args_to_add[2]; |
|
|
|
@ -173,9 +163,15 @@ static bool proxy_mapper_map_name(grpc_exec_ctx* exec_ctx, |
|
|
|
|
} else { |
|
|
|
|
*new_args = grpc_channel_args_copy_and_add(args, args_to_add, 1); |
|
|
|
|
} |
|
|
|
|
gpr_free(user_cred); |
|
|
|
|
grpc_uri_destroy(uri); |
|
|
|
|
gpr_free(user_cred); |
|
|
|
|
return true; |
|
|
|
|
no_use_proxy: |
|
|
|
|
if (uri != NULL) grpc_uri_destroy(uri); |
|
|
|
|
gpr_free(*name_to_resolve); |
|
|
|
|
*name_to_resolve = NULL; |
|
|
|
|
gpr_free(user_cred); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static bool proxy_mapper_map_address(grpc_exec_ctx* exec_ctx, |
|
|
|
|