Set $conn->remoteAddress if proxy forwarded

Refs #89
This commit is contained in:
Chris Boden 2013-05-01 19:42:15 -04:00
parent 8c05486740
commit cd0efed085
3 changed files with 8 additions and 3 deletions

View File

@ -50,6 +50,10 @@ class HttpServer implements MessageComponentInterface {
$from->httpHeadersReceived = true; $from->httpHeadersReceived = true;
if ($request->hasHeader('X-Forwarded-For')) {
$from->remoteAddress = $request->getHeader('X-Forwarded-For', true);
}
return $this->_httpServer->onOpen($from, $request); return $this->_httpServer->onOpen($from, $request);
} }

View File

@ -4,7 +4,8 @@ use Guzzle\Http\Message\RequestInterface;
class HyBi10 extends RFC6455 { class HyBi10 extends RFC6455 {
public function isProtocol(RequestInterface $request) { public function isProtocol(RequestInterface $request) {
$version = (int)$request->getHeader('Sec-WebSocket-Version', -1); $version = $request->hasHeader('Sec-WebSocket-Version') ? (int)$request->getHeader('Sec-WebSocket-Version', true) : -1;
return ($version >= 6 && $version < 13); return ($version >= 6 && $version < 13);
} }

View File

@ -50,7 +50,7 @@ class RFC6455 implements VersionInterface {
* {@inheritdoc} * {@inheritdoc}
*/ */
public function isProtocol(RequestInterface $request) { public function isProtocol(RequestInterface $request) {
$version = (int)$request->getHeader('Sec-WebSocket-Version', -1); $version = $request->hasHeader('Sec-WebSocket-Version') ? (int)$request->getHeader('Sec-WebSocket-Version', true) : -1;
return ($this->getVersionNumber() === $version); return ($this->getVersionNumber() === $version);
} }
@ -73,7 +73,7 @@ class RFC6455 implements VersionInterface {
return new Response(101, array( return new Response(101, array(
'Upgrade' => 'websocket' 'Upgrade' => 'websocket'
, 'Connection' => 'Upgrade' , 'Connection' => 'Upgrade'
, 'Sec-WebSocket-Accept' => $this->sign($request->getHeader('Sec-WebSocket-Key')) , 'Sec-WebSocket-Accept' => $this->sign($request->getHeader('Sec-WebSocket-Key', true))
)); ));
} }