Test Client headers
This commit is contained in:
parent
5e9980f864
commit
832e849875
|
|
@ -51,4 +51,46 @@ class ClientTest extends \PHPUnit_Framework_TestCase
|
|||
["OPTIONS"]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider httpHeaderProvider
|
||||
*/
|
||||
public function testCheckHttpHeaders($headerKey, $headerValue)
|
||||
{
|
||||
$host = "localhost";
|
||||
$port = 8080;
|
||||
$script = realpath(__DIR__ . "/sham-routers/headers.php");
|
||||
|
||||
$server = new ShamServer($host, $port, $script);
|
||||
|
||||
$rqst = $this->getMockBuilder('pjdietz\WellRESTed\Request')->getMock();
|
||||
$rqst->expects($this->any())
|
||||
->method("getUri")
|
||||
->will($this->returnValue("http://$host:$port"));
|
||||
$rqst->expects($this->any())
|
||||
->method("getMethod")
|
||||
->will($this->returnValue("GET"));
|
||||
$rqst->expects($this->any())
|
||||
->method("getPort")
|
||||
->will($this->returnValue($port));
|
||||
$rqst->expects($this->any())
|
||||
->method("getHeaders")
|
||||
->will($this->returnValue(array($headerKey => $headerValue)));
|
||||
|
||||
$client = new Client();
|
||||
$resp = $client->request($rqst);
|
||||
$headers = json_decode($resp->getBody());
|
||||
$this->assertEquals($headerValue, $headers->{$headerKey});
|
||||
|
||||
$server->stop();
|
||||
}
|
||||
|
||||
public function httpHeaderProvider()
|
||||
{
|
||||
return [
|
||||
["Cache-Control", "max-age=0"],
|
||||
["X-Custom-Header", "custom value"],
|
||||
["Accept-Charset", "utf-8"]
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
<?php
|
||||
|
||||
// http://www.php.net/manual/en/function.getallheaders.php#84262
|
||||
$headers = [];
|
||||
foreach ($_SERVER as $name => $value) {
|
||||
if (substr($name, 0, 5) === 'HTTP_') {
|
||||
$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
|
||||
}
|
||||
}
|
||||
print json_encode($headers);
|
||||
Loading…
Reference in New Issue