-
Notifications
You must be signed in to change notification settings - Fork 320
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Expose HTTPHost property in HTTPClientConfig #645
base: main
Are you sure you want to change the base?
Conversation
c414f4d
to
e849aa2
Compare
Signed-off-by: Jan-Otto Kröpke <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Turns out that I forget something.
Please explain this further.
@@ -319,6 +319,9 @@ type HTTPClientConfig struct { | |||
// The omitempty flag is not set, because it would be hidden from the | |||
// marshalled configuration when set to false. | |||
EnableHTTP2 bool `yaml:"enable_http2" json:"enable_http2"` | |||
// HTTPHost optionally overrides the Host header to send. | |||
// If empty, the host from the URL is used. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How does this reconcile with the code that says:
rt = NewHostRoundTripper(opts.host, rt)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If empty, the host from the URL is used.
This is go default behavior. It's similar the the TLSServerName property.
If the property is not set by caller, then the value will be used from URL.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it not be more correct to mention opts.host
?
In #549 you added Since only the latter was used, I removed the former. Now you adding it back, and hopefully using it. |
Hey @bboreham, I only need the property in HTTPClientConfig within the context of Grafana Alloy. I have to apologize. When I started with Golang a year ago, I implemented the wrong side due to my lack of knowledge and missing tooling. I just replicated the userAgent logic, which misled me. Looking at it now, I realize that the host property in httpClientOptions is incorrect. If you agree, I can revert the host in httpClientOptions. |
Thanks for the explanation. It's fine, everybody makes mistakes. Just easier for me to follow if I can see the path. However we may prefer to deprecate the un-needed one rather than removing it immediately. |
While I was integrate that feature in grafana/alloy#698, it figure out that the Host property was removed in #597. Turns out that I forget something.
Since host is problematic with DockerSD, i choice the term
http_host
to follow the pattern fromhttp_headers