mirror of https://github.com/grpc/grpc-node.git
Fixed TLS host resolution problems
This commit is contained in:
parent
b7fa6c07f1
commit
1fc959e5c4
|
@ -103,11 +103,15 @@ NAN_METHOD(Channel::New) {
|
||||||
grpc_channel *wrapped_channel;
|
grpc_channel *wrapped_channel;
|
||||||
// Owned by the Channel object
|
// Owned by the Channel object
|
||||||
NanUtf8String *host = new NanUtf8String(args[0]);
|
NanUtf8String *host = new NanUtf8String(args[0]);
|
||||||
|
NanUtf8String *host_override = NULL;
|
||||||
if (args[1]->IsUndefined()) {
|
if (args[1]->IsUndefined()) {
|
||||||
wrapped_channel = grpc_channel_create(**host, NULL);
|
wrapped_channel = grpc_channel_create(**host, NULL);
|
||||||
} else if (args[1]->IsObject()) {
|
} else if (args[1]->IsObject()) {
|
||||||
grpc_credentials *creds = NULL;
|
grpc_credentials *creds = NULL;
|
||||||
Handle<Object> args_hash(args[1]->ToObject()->Clone());
|
Handle<Object> args_hash(args[1]->ToObject()->Clone());
|
||||||
|
if (args_hash->HasOwnProperty(NanNew(GRPC_SSL_TARGET_NAME_OVERRIDE_ARG))) {
|
||||||
|
host_override = new NanUtf8String(args_hash->Get(NanNew(GRPC_SSL_TARGET_NAME_OVERRIDE_ARG)));
|
||||||
|
}
|
||||||
if (args_hash->HasOwnProperty(NanNew("credentials"))) {
|
if (args_hash->HasOwnProperty(NanNew("credentials"))) {
|
||||||
Handle<Value> creds_value = args_hash->Get(NanNew("credentials"));
|
Handle<Value> creds_value = args_hash->Get(NanNew("credentials"));
|
||||||
if (!Credentials::HasInstance(creds_value)) {
|
if (!Credentials::HasInstance(creds_value)) {
|
||||||
|
@ -155,7 +159,12 @@ NAN_METHOD(Channel::New) {
|
||||||
} else {
|
} else {
|
||||||
return NanThrowTypeError("Channel expects a string and an object");
|
return NanThrowTypeError("Channel expects a string and an object");
|
||||||
}
|
}
|
||||||
Channel *channel = new Channel(wrapped_channel, host);
|
Channel *channel;
|
||||||
|
if (host_override == NULL) {
|
||||||
|
channel = new Channel(wrapped_channel, host);
|
||||||
|
} else {
|
||||||
|
channel = new Channel(wrapped_channel, host_override);
|
||||||
|
}
|
||||||
channel->Wrap(args.This());
|
channel->Wrap(args.This());
|
||||||
NanReturnValue(args.This());
|
NanReturnValue(args.This());
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue