Requests: Merge handling for custom HTTP methods.

This merges the latest changes to Requests from upstream to add support for custom HTTP methods.
See 1b5ffd8501

Props Ipstenu, ocean90.
Fixes #37503 for trunk.


git-svn-id: https://develop.svn.wordpress.org/trunk@38191 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Dion Hulse 2016-08-04 07:13:41 +00:00
parent 9628a53be7
commit 140f4914f2
1 changed files with 9 additions and 7 deletions

View File

@ -333,13 +333,6 @@ class Requests_Transport_cURL implements Requests_Transport {
curl_setopt($this->handle, CURLOPT_POST, true); curl_setopt($this->handle, CURLOPT_POST, true);
curl_setopt($this->handle, CURLOPT_POSTFIELDS, $data); curl_setopt($this->handle, CURLOPT_POSTFIELDS, $data);
break; break;
case Requests::PATCH:
case Requests::PUT:
case Requests::DELETE:
case Requests::OPTIONS:
curl_setopt($this->handle, CURLOPT_CUSTOMREQUEST, $options['type']);
curl_setopt($this->handle, CURLOPT_POSTFIELDS, $data);
break;
case Requests::HEAD: case Requests::HEAD:
curl_setopt($this->handle, CURLOPT_CUSTOMREQUEST, $options['type']); curl_setopt($this->handle, CURLOPT_CUSTOMREQUEST, $options['type']);
curl_setopt($this->handle, CURLOPT_NOBODY, true); curl_setopt($this->handle, CURLOPT_NOBODY, true);
@ -347,6 +340,15 @@ class Requests_Transport_cURL implements Requests_Transport {
case Requests::TRACE: case Requests::TRACE:
curl_setopt($this->handle, CURLOPT_CUSTOMREQUEST, $options['type']); curl_setopt($this->handle, CURLOPT_CUSTOMREQUEST, $options['type']);
break; break;
case Requests::PATCH:
case Requests::PUT:
case Requests::DELETE:
case Requests::OPTIONS:
default:
curl_setopt($this->handle, CURLOPT_CUSTOMREQUEST, $options['type']);
if (!empty($data)) {
curl_setopt( $this->handle, CURLOPT_POSTFIELDS, $data );
}
} }
// cURL requires a minimum timeout of 1 second when using the system // cURL requires a minimum timeout of 1 second when using the system