示例#1
0
 public function testSetRequest()
 {
     $this->provider->register('request', function () {
         $request = ServerRequest::createFromGlobal();
         return $request->withAttribute('a', 123);
     });
     $this->assertEquals(123, $this->provider->getRequest()->getAttribute('a'));
     $newRequest = $request = ServerRequest::createFromGlobal();
     $newRequest = $newRequest->withAttribute('b', 456);
     $this->provider->setRequest($newRequest);
     $this->assertEquals($newRequest, $this->provider->getRequest());
 }
示例#2
0
 protected function getFromGlobal()
 {
     // 'https://*****:*****@some-server.com/foo/bar?foo=bar'
     $_SERVER = ['REQUEST_METHOD' => 'POST', 'HTTPS' => 'on', 'PHP_AUTH_USER' => 'user1', 'PHP_AUTH_PW' => 'pass1', 'REQUEST_URI' => '/foo/bar?foo=bar', 'HTTP_HOST' => 'some-server.com', 'SCRIPT_NAME' => 'index.php'];
     $_FILES = ['myfile' => ['name' => 'someimage.jpg', 'type' => 'image/jpeg', 'tmp_name' => '/tmp/phpM0Jr9t', 'error' => 0, 'size' => 190414]];
     $_POST = ['a' => 'b'];
     return ServerRequest::createFromGlobal();
 }
示例#3
0
 /**
  * Get request
  * 
  * @return \Psr\Http\Message\ServerRequestInterface
  * @throws \RuntimeException
  */
 public function getRequest()
 {
     if ($this->request) {
         return $this->request;
     }
     if ($this->has('request')) {
         $this->request = $this->get('request');
         if (!$this->request instanceof ServerRequestInterface) {
             throw new \RuntimeException('The Request service must return an instance of \\Psr\\Http\\Message\\ServerRequestInterface.');
         }
     } else {
         $this->request = ServerRequest::createFromGlobal();
     }
     return $this->request;
 }