Example #1
0
             $stream = Double::instance(['extends' => 'Lead\\Storage\\Stream\\Stream']);
             allow($stream)->toReceive('length')->andReturn(null);
             $request = new Request(['method' => 'POST', 'type' => 'application/x-www-form-urlencoded', 'body' => $stream]);
             $request->toMessage();
         };
         expect($closure)->toThrow(new NetException('A Content-Length header is required but the request stream has a `null` length.'));
     });
 });
 describe("->export()", function () {
     it("exports default values", function () {
         $request = new Request();
         expect($request->export())->toEqual(['method' => 'GET', 'scheme' => 'http', 'version' => '1.1', 'host' => 'localhost', 'port' => 80, 'path' => '/', 'query' => '', 'fragment' => '', 'username' => null, 'password' => null, 'url' => 'http://localhost/', 'stream' => $request->stream()]);
     });
     it("exports a request", function () {
         $request = new Request(['scheme' => 'http', 'host' => 'www.domain.com', 'port' => 80, 'username' => 'username', 'password' => 'password', 'path' => 'index.php']);
         expect($request->export())->toEqual(['method' => 'GET', 'scheme' => 'http', 'version' => '1.1', 'host' => 'www.domain.com', 'port' => 80, 'path' => '/index.php', 'query' => '', 'fragment' => '', 'username' => 'username', 'password' => 'password', 'url' => 'http://www.domain.com/index.php', 'stream' => $request->stream()]);
     });
 });
 describe("->toString()", function () {
     it("casts to a string", function () {
         $headers = ['Date: Thu, 25 Dec 2014 00:00:00 GMT', 'Content-Type: text/html; charset=UTF-8', 'Vary: Accept-Encoding, Cookie, User-Agent'];
         $request = new Request(['headers' => $headers, 'data' => 'Body Message']);
         expect($request->toString())->toBe('Body Message');
     });
 });
 describe("->__clone", function () {
     it("clones the headers but not the stream ressource", function () {
         $request = new Request(['data' => 'Body Message']);
         $new = clone $request;
         expect($request->headers)->not->toBe($new->headers);
         expect($request->stream())->toBe($new->stream());
Example #2
0
 /**
  * Exports a `Request` instance to an array.
  *
  * @param  array $options Options.
  * @return array          The export array.
  */
 public function export($options = [])
 {
     $this->_setContentLength();
     return ['basePath' => $this->basePath(), 'locale' => $this->locale(), 'data' => $this->data(), 'params' => $this->params(), 'env' => $this->env] + parent::export($options);
 }