Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit103fd88

Browse files
committed
[BrowserKit] refactor code and fix unquoted regex
1 parentf401ab9 commit103fd88

File tree

2 files changed

+20
-18
lines changed

2 files changed

+20
-18
lines changed

‎src/Symfony/Component/BrowserKit/Client.php‎

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -304,11 +304,7 @@ public function request($method, $uri, array $parameters = array(), array $files
304304
$uri =$this->getAbsoluteUri($uri);
305305

306306
if (isset($server['HTTP_HOST'])) {
307-
if ($port =parse_url($uri,PHP_URL_PORT)) {
308-
$port =':'.$port;
309-
}
310-
311-
$uri =preg_replace('{^(https?\://)'.parse_url($uri,PHP_URL_HOST).$port.'}','${1}'.$server['HTTP_HOST'],$uri);
307+
$uri =preg_replace('{^(https?\://)'.preg_quote($this->extractHost($uri)).'}','${1}'.$server['HTTP_HOST'],$uri);
312308
}
313309

314310
if (isset($server['HTTPS'])) {
@@ -321,12 +317,7 @@ public function request($method, $uri, array $parameters = array(), array $files
321317
$server['HTTP_REFERER'] =$this->history->current()->getUri();
322318
}
323319

324-
$server['HTTP_HOST'] =parse_url($uri,PHP_URL_HOST);
325-
326-
if ($port =parse_url($uri,PHP_URL_PORT)) {
327-
$server['HTTP_HOST'] .=':'.$port;
328-
}
329-
320+
$server['HTTP_HOST'] =$this->extractHost($uri);
330321
$server['HTTPS'] ='https' ==parse_url($uri,PHP_URL_SCHEME);
331322

332323
$this->internalRequest =newRequest($uri,$method,$parameters,$files,$this->cookieJar->allValues($uri),$server,$content);
@@ -623,4 +614,15 @@ private function updateServerFromUri($server, $uri)
623614

624615
return$server;
625616
}
617+
618+
privatefunctionextractHost($uri)
619+
{
620+
$host =parse_url($uri,PHP_URL_HOST);
621+
622+
if ($port =parse_url($uri,PHP_URL_PORT)) {
623+
return$host.':'.$port;
624+
}
625+
626+
return$host;
627+
}
626628
}

‎src/Symfony/Component/BrowserKit/Tests/ClientTest.php‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -214,18 +214,18 @@ public function testRequestURIConversionByServerHost()
214214
{
215215
$client =newTestClient();
216216

217-
$server =array('HTTP_HOST' =>'www.example.com:8000');
217+
$server =array('HTTP_HOST' =>'www.exampl+e.com:8000');
218218
$parameters =array();
219219
$files =array();
220220

221-
$client->request('GET','http://example.com',$parameters,$files,$server);
222-
$this->assertEquals('http://www.example.com:8000',$client->getRequest()->getUri(),'->request() uses HTTP_HOST to add port');
221+
$client->request('GET','http://exampl+e.com',$parameters,$files,$server);
222+
$this->assertEquals('http://www.exampl+e.com:8000',$client->getRequest()->getUri(),'->request() uses HTTP_HOST to add port');
223223

224-
$client->request('GET','http://example.com:8888',$parameters,$files,$server);
225-
$this->assertEquals('http://www.example.com:8000',$client->getRequest()->getUri(),'->request() uses HTTP_HOST to modify existing port');
224+
$client->request('GET','http://exampl+e.com:8888',$parameters,$files,$server);
225+
$this->assertEquals('http://www.exampl+e.com:8000',$client->getRequest()->getUri(),'->request() uses HTTP_HOST to modify existing port');
226226

227-
$client->request('GET','http://example.com:8000',$parameters,$files,$server);
228-
$this->assertEquals('http://www.example.com:8000',$client->getRequest()->getUri(),'->request() uses HTTP_HOST respects correct set port');
227+
$client->request('GET','http://exampl+e.com:8000',$parameters,$files,$server);
228+
$this->assertEquals('http://www.exampl+e.com:8000',$client->getRequest()->getUri(),'->request() uses HTTP_HOST respects correct set port');
229229
}
230230

231231
publicfunctiontestRequestReferer()

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp