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.