Cleanup middleware logic

* Http2Connection now sets up the streams and returns a responseStream
This commit is contained in:
2024-07-27 16:21:24 +02:00
parent dc3225538f
commit 0699123f5e
4 changed files with 84 additions and 25 deletions

View File

@ -0,0 +1,11 @@
<?php
namespace NoccyLabs\React\Http2\Connection;
use PHPUnit\Framework\Attributes\CoversClass;
#[CoversClass(Http2Connection::class)]
class Http2ConnectionTest extends \PHPUnit\Framework\TestCase
{
}

View File

@ -14,17 +14,30 @@ class Http2MiddlewareTest extends \PHPUnit\Framework\TestCase
public function testInvalidUpgradeRequests()
{
$middleware = new Http2Middleware();
$request = new ServerRequest("GET", "/", [
"Upgrade" => "h2",
"x-forwarded-proto" => "http"
]);
$middleware = new Http2Middleware();
/** @var ResponseInterface $response */
$response = $middleware($request);
$this->assertEquals(Response::STATUS_BAD_REQUEST, $response->getStatusCode());
$this->assertEquals("Unsupported protocol", $response->getBody());
$request = new ServerRequest("GET", "/", [
"Upgrade" => "h2c",
"x-forwarded-proto" => "http",
]);
/** @var ResponseInterface $response */
$response = $middleware($request);
$this->assertEquals(Response::STATUS_BAD_REQUEST, $response->getStatusCode());
$this->assertEquals("Unsupported protocol", $response->getBody());
}
public function testHandlingUpgradeRequest()