Example #1
0
     it('returns HTTPS when SCRIPT_URI starts with https://', function () {
         $req = new ServerRequest(['HTTPS' => 'off', 'SCRIPT_URI' => 'https://ochenta/']);
         expect($req->getUri())->toContainKey('scheme');
         expect($req->getUri()['scheme'])->toBe('https');
     });
     it('returns HTTPS in lowercase, defaults to off', function () {
         expect((new ServerRequest([]))->getUri()['scheme'])->toBe('http');
         expect((new ServerRequest(['HTTPS' => 'ON']))->getUri()['scheme'])->toBe('https');
     });
     it('returns HTTPS on if is 1', function () {
         expect((new ServerRequest(['HTTPS' => 0]))->getUri()['scheme'])->toBe('http');
         expect((new ServerRequest(['HTTPS' => 1]))->getUri()['scheme'])->toBe('https');
     });
     it('returns REQUEST_METHOD overriden by HTTP_X_HTTP_METHOD_OVERRIDE if present', function () {
         $req = new ServerRequest(['REQUEST_METHOD' => 'POST', 'HTTP_X_HTTP_METHOD_OVERRIDE' => 'PUT']);
         expect($req->getMethod())->toBe('PUT');
     });
     it('returns HTTP_AUTHORIZATION if REDIRECT_HTTP_AUTHORIZATION is present', function () {
         $req = new ServerRequest(['REDIRECT_HTTP_AUTHORIZATION' => 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==']);
         expect($req->getHeaders())->toContainKey('AUTHORIZATION');
         expect($req->getHeaders()['AUTHORIZATION'])->toBe(['Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==']);
     });
 });
 describe('->normalizeUrl', function () {
     it('throws UnexpectedValueException on invalid REQUEST_URI', function () {
         expect(function () {
             new ServerRequest(['REQUEST_URI' => 'http://@/']);
         })->toThrow(new UnexpectedValueException());
     });
     it('returns parse_url parts from REQUEST_URI', function () {
         $req = new ServerRequest(['REQUEST_URI' => 'http://*****:*****@example.com/path?queryString']);