Skip to content

Commit

Permalink
omit equal sign if query component is not a key value pair
Browse files Browse the repository at this point in the history
  • Loading branch information
ceeram committed Feb 1, 2012
1 parent 310a7a1 commit cccf663
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 1 deletion.
1 change: 1 addition & 0 deletions lib/Cake/Network/Http/HttpSocket.php
Expand Up @@ -647,6 +647,7 @@ protected function _buildUri($uri = array(), $uriTemplate = '%scheme://%user:%pa

$uri['path'] = preg_replace('/^\//', null, $uri['path']);
$uri['query'] = $this->_httpSerialize($uri['query']);
$uri['query'] = rtrim($uri['query'], '=');
$stripIfEmpty = array(
'query' => '?%query',
'fragment' => '#%fragment',
Expand Down
22 changes: 21 additions & 1 deletion lib/Cake/Test/Case/Network/Http/HttpSocketTest.php
Expand Up @@ -550,7 +550,7 @@ public function testRequest() {

/**
* Test the scheme + port keys
*
*
* @return void
*/
public function testGetWithSchemeAndPort() {
Expand All @@ -568,6 +568,26 @@ public function testGetWithSchemeAndPort() {
$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.
*
Expand Down

0 comments on commit cccf663

Please sign in to comment.