summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Trotter <trotterdylan@users.noreply.github.com>2017-11-07 09:56:17 -0800
committerJames E. King, III <jking@apache.org>2017-11-20 07:34:01 -0500
commitcde4d4181a252323d87e7ac086ce495cd1227c5c (patch)
tree16654db9220b52fd69a6e67c644dabb054f9d4b0
parent39eaae6675f01ff844b35c04ebd50090dc413624 (diff)
downloadthrift-cde4d4181a252323d87e7ac086ce495cd1227c5c.tar.gz
Fix remote client for HTTP transport
Client: go Assign parsedUrl to the variable in the outer scope instead of creating a new one. Previously the outer parsedUrl was never assigned and was therefore always empty. This closes #1411
-rw-r--r--compiler/cpp/src/thrift/generate/t_go_generator.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/cpp/src/thrift/generate/t_go_generator.cc b/compiler/cpp/src/thrift/generate/t_go_generator.cc
index e869b00bf..6cce32bcc 100644
--- a/compiler/cpp/src/thrift/generate/t_go_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_go_generator.cc
@@ -2130,7 +2130,7 @@ void t_go_generator::generate_service_remote(t_service* tservice) {
f_remote << indent() << "var urlString string" << endl;
f_remote << indent() << "var framed bool" << endl;
f_remote << indent() << "var useHttp bool" << endl;
- f_remote << indent() << "var parsedUrl url.URL" << endl;
+ f_remote << indent() << "var parsedUrl *url.URL" << endl;
f_remote << indent() << "var trans thrift.TTransport" << endl;
f_remote << indent() << "_ = strconv.Atoi" << endl;
f_remote << indent() << "_ = math.Abs" << endl;
@@ -2147,7 +2147,8 @@ void t_go_generator::generate_service_remote(t_service* tservice) {
f_remote << indent() << "flag.Parse()" << endl;
f_remote << indent() << endl;
f_remote << indent() << "if len(urlString) > 0 {" << endl;
- f_remote << indent() << " parsedUrl, err := url.Parse(urlString)" << endl;
+ f_remote << indent() << " var err error" << endl;
+ f_remote << indent() << " parsedUrl, err = url.Parse(urlString)" << endl;
f_remote << indent() << " if err != nil {" << endl;
f_remote << indent() << " fmt.Fprintln(os.Stderr, \"Error parsing URL: \", err)" << endl;
f_remote << indent() << " flag.Usage()" << endl;