omit equal sign if query component is not a key value pair

This commit is contained in:
Ceeram 2012-02-01 12:04:52 +01:00
parent 310a7a1acf
commit cccf663c23
2 changed files with 22 additions and 1 deletions

View file

@ -647,6 +647,7 @@ class HttpSocket extends CakeSocket {
$uri['path'] = preg_replace('/^\//', null, $uri['path']);
$uri['query'] = $this->_httpSerialize($uri['query']);
$uri['query'] = rtrim($uri['query'], '=');
$stripIfEmpty = array(
'query' => '?%query',
'fragment' => '#%fragment',

View file

@ -550,7 +550,7 @@ class HttpSocketTest extends CakeTestCase {
/**
* Test the scheme + port keys
*
*
* @return void
*/
public function testGetWithSchemeAndPort() {
@ -568,6 +568,26 @@ class HttpSocketTest extends CakeTestCase {
$this->assertContains('Host: cakephp.org:8080', $this->Socket->request['header']);
}
/**
* Test urls like http://cakephp.org/index.php?somestring without key/value pair for query
*
* @return void
*/
public function testRequestWithStringQuery() {
$this->Socket->reset();
$request = array(
'uri' => array(
'scheme' => 'http',
'host' => 'cakephp.org',
'path' => 'index.php',
'query' => 'somestring'
),
'method' => 'GET'
);
$response = $this->Socket->request($request);
$this->assertContains("GET /index.php?somestring HTTP/1.1", $this->Socket->request['line']);
}
/**
* The "*" asterisk character is only allowed for the following methods: OPTIONS.
*