|
|
@@ -338,6 +338,41 @@ class Client implements IClient { |
|
|
|
return new Response($response); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Sends a PATCH request |
|
|
|
* |
|
|
|
* @param string $uri |
|
|
|
* @param array $options Array such as |
|
|
|
* 'body' => [ |
|
|
|
* 'field' => 'abc', |
|
|
|
* 'other_field' => '123', |
|
|
|
* 'file_name' => fopen('/path/to/file', 'r'), |
|
|
|
* ], |
|
|
|
* 'headers' => [ |
|
|
|
* 'foo' => 'bar', |
|
|
|
* ], |
|
|
|
* 'cookies' => [ |
|
|
|
* 'foo' => 'bar', |
|
|
|
* ], |
|
|
|
* 'allow_redirects' => [ |
|
|
|
* 'max' => 10, // allow at most 10 redirects. |
|
|
|
* 'strict' => true, // use "strict" RFC compliant redirects. |
|
|
|
* 'referer' => true, // add a Referer header |
|
|
|
* 'protocols' => ['https'] // only allow https URLs |
|
|
|
* ], |
|
|
|
* 'sink' => '/path/to/file', // save to a file or a stream |
|
|
|
* 'verify' => true, // bool or string to CA file |
|
|
|
* 'debug' => true, |
|
|
|
* 'timeout' => 5, |
|
|
|
* @return IResponse |
|
|
|
* @throws \Exception If the request could not get completed |
|
|
|
*/ |
|
|
|
public function patch(string $uri, array $options = []): IResponse { |
|
|
|
$this->preventLocalAddress($uri, $options); |
|
|
|
$response = $this->client->request('patch', $uri, $this->buildRequestOptions($options)); |
|
|
|
return new Response($response); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Sends a DELETE request |
|
|
|
* |