* tls_config: Allow specifying SNI hostnames
Add a new configration field `tls_server_name` that allows specifying
the server name that'll be sent in the ClientHello when telegraf makes
a request to TLS servers. This allows checking against load balancers
responding to specific hostnames that otherwise wouldn't resolve to
their addresses.
Add the setting to the documentation of common TLS options, as well as
to the http_response plugin.
Fixes#7598.
* Adjust the x509_cert to allow usage of tls_server_name
This plugin has been using ServerName previously, and will have to
deal with the new setting, too: Extract the server-name choosing into
a method & add a test to ensure we choose the right value (and error
under the right circumstances). Also document that the two settings
are mutually exclusive.
* Improve documentation on what we try to accomplish in the nil return
Also get rid of the TODO, as I am fairly certain this behavior is the
correct one.
* Remove unused struct field in tests
Many of the examples provided within documentation are using a single
dash for the command line arguments, but the telegraf executable
explicitly has two dashes.
There are also some inconsistencies with the ordering of the command
line argument examples. I've ordered them so that the examples will
show: config, config-directory, input-filter, test
Using Keep-Alive would change the timing for already established
connections. Previous to this commit, Keep-Alive worked only when using
a response_string_match due to failure to close the request body.
* Add in support for looking for substring in response
* Add note to CHANGELOG.md
* Switch from substring match to regex match
* Requested code changes
* Make requested changes and refactor to avoid nested if-else.
* Convert tabs to space and compile regex once
Also changing the net_response and http_response plugins to only accept
duration strings for their timeout parameters. This is a breaking config
file change.
closes#1214