convenience wrapper for HTTP PATCH in HttpSocket class.

This commit is contained in:
Fahad Ibnay Heylaal 2013-06-04 22:46:15 +02:00
parent a079ca3f1c
commit 679177b8f3
2 changed files with 37 additions and 0 deletions

View file

@ -494,6 +494,19 @@ class HttpSocket extends CakeSocket {
return $this->request($request);
}
/**
* Issues a PATCH request to the specified URI, query, and request.
*
* @param string|array $uri URI to request, See HttpSocket::_parseUri()
* @param array $data Array of PATCH data keys and values.
* @param array $request An indexed array with indexes such as 'method' or uri
* @return mixed Result of request
*/
public function patch($uri = null, $data = array(), $request = array()) {
$request = Hash::merge(array('method' => 'PATCH', 'uri' => $uri, 'body' => $data), $request);
return $this->request($request);
}
/**
* Issues a DELETE request to the specified URI, query, and request.
*

View file

@ -1147,6 +1147,30 @@ class HttpSocketTest extends CakeTestCase {
$this->RequestSocket->put('http://www.google.com/', null, array('line' => 'Hey Server'));
}
/**
* testPatch
*
* @return void
*/
public function testPatch() {
$this->RequestSocket->reset();
$this->RequestSocket->expects($this->at(0))
->method('request')
->with(array('method' => 'PATCH', 'uri' => 'http://www.google.com/', 'body' => array()));
$this->RequestSocket->expects($this->at(1))
->method('request')
->with(array('method' => 'PATCH', 'uri' => 'http://www.google.com/', 'body' => array('Foo' => 'bar')));
$this->RequestSocket->expects($this->at(2))
->method('request')
->with(array('method' => 'PATCH', 'uri' => 'http://www.google.com/', 'body' => null, 'line' => 'Hey Server'));
$this->RequestSocket->patch('http://www.google.com/');
$this->RequestSocket->patch('http://www.google.com/', array('Foo' => 'bar'));
$this->RequestSocket->patch('http://www.google.com/', null, array('line' => 'Hey Server'));
}
/**
* testDelete
*