Decorates the PSR incoming request interface to add the ability to manipulate arbitrary instance members.
Устаревший: since 1.3.0; to be removed with 2.0.0. Track the original request via a request attribute or via a service instead; you can use Zend\Stratigility\Middleware\OriginalMessages to do so.
Наследование: implements Psr\Http\Message\ServerRequestInterface
Пример #1
0
 /**
  * Middleware listener/
  *
  * @param          $class
  * @param Request  $request
  * @param Response $response
  *
  * @internal param Context $context
  */
 function middlewareSnooper($class, $request, $response)
 {
     static $count = 0;
     $this->kernel->context()->set('application.spy_middleware.fired', ++$count);
     $this->kernel->context()->set('application.spy_middleware.request_query', $request->getUri());
     $et = elapsed_time_since_request();
     $class = (new \ReflectionClass($class))->getShortName();
     $response->getBody()->write("<div><b>{$class}</b> middleware event fired @<b>{$et}</b></div>" . PHP_EOL);
 }
 public function testDecoratorProxiesToAllMethods()
 {
     $stream = $this->getMockBuilder('Psr\\Http\\Message\\StreamInterface')->getMock();
     $psrRequest = new PsrRequest([], [], 'http://example.com', 'POST', $stream, ['Accept' => 'application/xml', 'X-URL' => 'http://example.com/foo']);
     $request = new Request($psrRequest);
     $this->assertEquals('1.1', $request->getProtocolVersion());
     $this->assertSame($stream, $request->getBody());
     $this->assertSame($psrRequest->getHeaders(), $request->getHeaders());
     $this->assertEquals($psrRequest->getRequestTarget(), $request->getRequestTarget());
 }
 public function testInvalidIdRequest()
 {
     $request = $this->request->withUri(new Uri('http://localhost/api/ping/one'))->withMethod('GET');
     /** @var \Zend\Expressive\Router\RouteResult $result */
     $result = $this->router->match($request);
     $this->assertTrue($result->isFailure());
 }
 /**
  * @param ServerRequestInterface $request
  * @param RouterInterface $router
  */
 public function __construct(ServerRequestInterface $request, RouterInterface $router)
 {
     $this->request = $request;
     parent::__construct($this);
     $this->parameters = $this->parseIncomingParams();
     $this->parameters = array_merge($this->parameters, $this->request->getParsedBody(), $this->getParsedAttributes($request, $router), $this->getQueryParams(), $this->request->getUploadedFiles());
     $this->parsedBody = array_merge(parent::getParsedBody(), $this->parameters);
 }
 public function testInvalidResourceException()
 {
     $request = $this->request->withUri(new Uri('http://localhost/api/ping/666'))->withMethod('GET')->withAttribute('resource', 'SomeBogusResource')->withAttribute('resourceId', 1);
     $apiMiddleware = new ApiMiddleware($this->container->reveal());
     /** @var \Zend\Diactoros\Response\JsonResponse $response */
     $response = $apiMiddleware($request, new Response());
     $data = json_decode((string) $response->getBody(), true);
     $this->assertInstanceOf('Zend\\Diactoros\\Response\\JsonResponse', $response);
     $this->assertEquals(400, $response->getStatusCode());
     $this->assertArrayHasKey('errors', $data);
 }
Пример #6
0
 /**
  * getFileName
  *
  * @param Request $request
  *
  * @return string|null
  */
 protected function getFileName(Request $request)
 {
     return $request->getAttribute(self::PARAM_FILE_PATH);
 }
Пример #7
0
 /**
  * {@inheritDoc}
  */
 public function withoutAttribute($attribute)
 {
     return new self($this->app, parent::withoutAttribute($attribute));
 }