summaryrefslogtreecommitdiffstats
path: root/plugins/check_http.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/check_http.c')
-rw-r--r--plugins/check_http.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/plugins/check_http.c b/plugins/check_http.c
index 4a3d692b..718fb840 100644
--- a/plugins/check_http.c
+++ b/plugins/check_http.c
@@ -783,17 +783,15 @@ check_http (void)
783 } 783 }
784#endif /* HAVE_SSL */ 784#endif /* HAVE_SSL */
785 785
786 /* If a hostname is provided, use HTTP/1.1 and send the hostname before the 786 asprintf (&buf, "%s %s HTTP/1.0\r\n%s\r\n", http_method, server_url, user_agent);
787 * Useragent. This fixes an issue with getting 301 responses from servers
788 * with virtual hosts */
789 if (host_name)
790 asprintf (&buf, "%s %s HTTP/1.1\r\nHost: %s\r\n%s\r\n", http_method, server_url, host_name, user_agent);
791 else
792 asprintf (&buf, "%s %s HTTP/1.0\r\n%s\r\n", http_method, server_url, user_agent);
793 787
794 /* tell HTTP/1.1 servers not to keep the connection alive */ 788 /* tell HTTP/1.1 servers not to keep the connection alive */
795 asprintf (&buf, "%sConnection: close\r\n", buf); 789 asprintf (&buf, "%sConnection: close\r\n", buf);
796 790
791 /* optionally send the host header info */
792 if (host_name)
793 asprintf (&buf, "%sHost: %s:%d\r\n", buf, host_name, server_port);
794
797 /* optionally send any other header tag */ 795 /* optionally send any other header tag */
798 if (http_opt_headers_count) { 796 if (http_opt_headers_count) {
799 for (i = 0; i < http_opt_headers_count ; i++) { 797 for (i = 0; i < http_opt_headers_count ; i++) {