Kraken\Network\Websocket\Driver\Version\RFC6455\HandshakeVerifier::verifyRequest PHP Method

verifyRequest() public method

public verifyRequest ( Kraken\Network\Http\HttpRequestInterface $request ) : boolean
$request Kraken\Network\Http\HttpRequestInterface
return boolean
    public function verifyRequest(HttpRequestInterface $request)
    {
        $passes = 0;
        $passes += (int) $this->verifyMethod($request->getMethod());
        $passes += (int) $this->verifyHTTPVersion($request->getProtocolVersion());
        $passes += (int) $this->verifyRequestURI($request->getUri()->getPath());
        $passes += (int) $this->verifyHost($request->getHeaderLine('Host'));
        $passes += (int) $this->verifyUpgradeRequest($request->getHeaderLine('Upgrade'));
        $passes += (int) $this->verifyConnection($request->getHeaderLine('Connection'));
        $passes += (int) $this->verifyKey($request->getHeaderLine('Sec-WebSocket-Key'));
        return 7 === $passes;
    }

Usage Example

Beispiel #1
0
 /**
  * @param HttpRequestInterface $request
  * @return HttpResponseInterface
  */
 public function wsHandshake(HttpRequestInterface $request)
 {
     if ($this->verifier->verifyRequest($request) !== true) {
         return new HttpResponse(400);
     }
     return new HttpResponse(101, ['Upgrade' => 'websocket', 'Connection' => 'Upgrade', 'Sec-WebSocket-Accept' => $this->sign($request->getHeaderLine('Sec-WebSocket-Key'))]);
 }
HandshakeVerifier