From 6355543cf3bdd8686f7d554d8bd8086774aa3bce Mon Sep 17 00:00:00 2001 From: garnier-quentin Date: Fri, 5 Jun 2020 09:45:29 +0200 Subject: [PATCH] Fix #2038 #2036 --- centreon-plugins/apps/protocols/http/mode/expectedcontent.pm | 3 ++- centreon-plugins/centreon/plugins/backend/http/curl.pm | 3 +++ centreon-plugins/centreon/plugins/backend/http/lwp.pm | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/centreon-plugins/apps/protocols/http/mode/expectedcontent.pm b/centreon-plugins/apps/protocols/http/mode/expectedcontent.pm index d0c4f09ae..a489df549 100644 --- a/centreon-plugins/apps/protocols/http/mode/expectedcontent.pm +++ b/centreon-plugins/apps/protocols/http/mode/expectedcontent.pm @@ -148,7 +148,8 @@ sub load_request { $self->{options_request} = {}; if (defined($self->{option_results}->{data}) && $self->{option_results}->{data} ne '') { - $self->{option_results}->{method} = 'POST'; + $self->{option_results}->{method} = defined($self->{option_results}->{method}) && $self->{option_results}->{method} ne '' ? + $self->{option_results}->{method} : 'POST'; if (-f $self->{option_results}->{data} and -r $self->{option_results}->{data}) { local $/ = undef; my $fh; diff --git a/centreon-plugins/centreon/plugins/backend/http/curl.pm b/centreon-plugins/centreon/plugins/backend/http/curl.pm index af14dbe5c..7e825bca3 100644 --- a/centreon-plugins/centreon/plugins/backend/http/curl.pm +++ b/centreon-plugins/centreon/plugins/backend/http/curl.pm @@ -180,6 +180,9 @@ sub set_method { if ($options{request}->{method} eq 'DELETE') { $self->curl_setopt(option => $self->{constant_cb}->(name => 'CURLOPT_CUSTOMREQUEST'), parameter => $options{request}->{method}); } + if ($options{request}->{method} eq 'PATCH') { + $self->curl_setopt(option => $self->{constant_cb}->(name => 'CURLOPT_CUSTOMREQUEST'), parameter => $options{request}->{method}); + } } sub set_auth { diff --git a/centreon-plugins/centreon/plugins/backend/http/lwp.pm b/centreon-plugins/centreon/plugins/backend/http/lwp.pm index 6169080d6..6fc16c111 100644 --- a/centreon-plugins/centreon/plugins/backend/http/lwp.pm +++ b/centreon-plugins/centreon/plugins/backend/http/lwp.pm @@ -166,7 +166,7 @@ sub request { if (defined($request_options->{no_follow})) { $self->{ua}->requests_redirectable(undef); } else { - $self->{ua}->requests_redirectable([ 'GET', 'HEAD', 'POST' ]); + $self->{ua}->requests_redirectable([ 'GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'PATCH' ]); } if (defined($request_options->{http_peer_addr})) { push @LWP::Protocol::http::EXTRA_SOCK_OPTS, PeerAddr => $request_options->{http_peer_addr}; @@ -196,7 +196,7 @@ sub request { } } - if ($request_options->{method} eq 'POST') { + if ($request_options->{method} ne 'GET') { if (defined($content_type_forced)) { $req->content_type($content_type_forced); $req->content($request_options->{query_form_post});