[
https://issues.apache.org/jira/browse/THRIFT-4385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dylan Trotter updated THRIFT-4385:
----------------------------------
Description:
There are two separate but trivial bugs in the Go remote implementation:
* The parseUrl local variable is always empty because the code that attempts to
assign to it actually assigns to a new scoped variable (`parsedUrl, err :=
url.Parse(urlString)`). This means that the -u flag does not work and the
http.Get() call deep in the stack returns an obscure message about the URL
scheme being empty (actually the whole URL is empty).
* -When using HTTP transport the tool uses a THttpClient which issues a GET.
The Go http library assumes an empty body for GET requests which means that the
request payload does not accompany the request. Instead of using THttpClient
the tools should use THttpPostClient so that the request payload will accompany
the request.-
The second issue above has separately been resolved: THttpPostClient is
deprecated and is just an alias for THttpClient since 0dd8235.
was:
There are two separate but trivial bugs in the Go remote implementation:
* The parseUrl local variable is always empty because the code that attempts to
assign to it actually assigns to a new scoped variable (`parsedUrl, err :=
url.Parse(urlString)`). This means that the -u flag does not work and the
http.Get() call deep in the stack returns an obscure message about the URL
scheme being empty (actually the whole URL is empty).
* When using HTTP transport the tool uses a THttpClient which issues a GET. The
Go http library assumes an empty body for GET requests which means that the
request payload does not accompany the request. Instead of using THttpClient
the tools should use THttpPostClient so that the request payload will accompany
the request.
> Go remote client doesn't work for HTTP transport
> ------------------------------------------------
>
> Key: THRIFT-4385
> URL: https://issues.apache.org/jira/browse/THRIFT-4385
> Project: Thrift
> Issue Type: Bug
> Components: Go - Compiler
> Reporter: Dylan Trotter
>
> There are two separate but trivial bugs in the Go remote implementation:
> * The parseUrl local variable is always empty because the code that attempts
> to assign to it actually assigns to a new scoped variable (`parsedUrl, err :=
> url.Parse(urlString)`). This means that the -u flag does not work and the
> http.Get() call deep in the stack returns an obscure message about the URL
> scheme being empty (actually the whole URL is empty).
> * -When using HTTP transport the tool uses a THttpClient which issues a GET.
> The Go http library assumes an empty body for GET requests which means that
> the request payload does not accompany the request. Instead of using
> THttpClient the tools should use THttpPostClient so that the request payload
> will accompany the request.-
> The second issue above has separately been resolved: THttpPostClient is
> deprecated and is just an alias for THttpClient since 0dd8235.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)