diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 66b54a6..10a57f5 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -6,6 +6,8 @@ use App\Logger\CliRequestLogger; use App\Logger\RequestLogger; use Clue\React\Buzz\Browser; use Illuminate\Support\ServiceProvider; +use Laminas\Uri\Uri; +use Laminas\Uri\UriFactory; use React\EventLoop\Factory as LoopFactory; use React\EventLoop\LoopInterface; @@ -13,7 +15,7 @@ class AppServiceProvider extends ServiceProvider { public function boot() { - // + UriFactory::registerScheme('chrome-extension', Uri::class); } public function register() diff --git a/tests/Unit/LoggedRequestTest.php b/tests/Unit/LoggedRequestTest.php index c8bae66..ebb3781 100644 --- a/tests/Unit/LoggedRequestTest.php +++ b/tests/Unit/LoggedRequestTest.php @@ -22,6 +22,19 @@ class LoggedRequestTest extends TestCase $this->assertSame('example-request', $loggedRequest->id()); } + /** @test */ + public function it_retrieves_the_request_for_chrome_extensions() + { + $rawRequest = str(new Request(200, '/expose', [ + 'Origin' => 'chrome-extension://expose', + 'X-Expose-Request-ID' => 'example-request', + ])); + $parsedRequest = LaminasRequest::fromString($rawRequest); + + $loggedRequest = new LoggedRequest($rawRequest, $parsedRequest); + $this->assertSame('example-request', $loggedRequest->id()); + } + /** @test */ public function it_returns_post_data_for_json_payloads() {