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});