-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
Add support for interface field in http_response input plugin #6006
Add support for interface field in http_response input plugin #6006
Conversation
|
||
intf, err := findInterface() | ||
if err != nil { | ||
t.Fatal(err) |
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.
I likely would have just t.Skip(err)
, but then again I believe httptest.NewServer
requires at least the loopback interface, so this is fine.
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.
I can change that if skip is preferred. I didn’t realize skip existed in that form.
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.
This seems fine, since we require the loopback in many tests, though in Telegraf we usually use testify: require.NoError(t, err)
.
|
||
defer ts.Close() | ||
|
||
intf, err := findInterface() |
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.
It seems like the test would depend on finding an interface that can route to the test http server network, which would only be a loopback interface because this server listens on 127.0.0.1:0. Could we simplify this function to just grab any loopback interface?
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.
Absolutely. That makes more sense. I was trying to test a non-loopback interface, which in hindsight makes no sense. I will make it get the name of the first loopback interface it finds.
|
||
intf, err := findInterface() | ||
if err != nil { | ||
t.Fatal(err) |
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.
This seems fine, since we require the loopback in many tests, though in Telegraf we usually use testify: require.NoError(t, err)
.
This is an attempt to implement the
interface
field in thehttp_response
input plugin.The
interface
field can be populated with an interface name such aseth0
. A local address associated with the network interface will be derived and used for dialing.Resolves: #5856
Required for all PRs: