Example #1
0
         $request = Request::parseUrl('https://*****:*****@www.domain.com:8000/foo?bar=baz#quz');
         expect($request->export())->toEqual(['method' => 'GET', 'scheme' => 'https', 'version' => '1.1', 'host' => 'www.domain.com:8000', 'port' => 8000, 'path' => '/foo', 'query' => '?bar=baz', 'fragment' => 'quz', 'username' => 'username', 'password' => 'password', 'url' => 'https://www.domain.com:8000/foo?bar=baz#quz', 'stream' => $request->stream()]);
     });
     it("throw an exception when the passed url is invalid", function () {
         $closure = function () {
             Request::parseUrl('/relative/url');
         };
         expect($closure)->toThrow(new NetException("Invalid url: `'/relative/url'`."));
     });
 });
 describe("->host()", function () {
     it("sets the host", function () {
         $request = new Request();
         $request->host('www.example.com:8000');
         expect($request->host())->toBe('www.example.com:8000');
         expect($request->hostname())->toBe('www.example.com');
         expect($request->port())->toBe('8000');
         expect((string) $request->headers['Host'])->toBe('Host: www.example.com:8000');
     });
 });
 describe("->scheme()", function () {
     it("gets the scheme", function () {
         $request = new Request(['scheme' => 'https']);
         expect($request->scheme())->toBe('https');
     });
     it("sets the scheme", function () {
         $request = new Request();
         $request->scheme('https');
         expect($request->scheme())->toBe('https');
     });
 });