/** * Convenience method to handle a ServerRequestInterface object directly * @param ServerRequestInterface $HttpRequest * @param ResponseInterface $TargetHttpResponse * @return ResponseInterface */ public function handleServerRequest(ServerRequestInterface $HttpRequest, ResponseInterface $TargetHttpResponse) { try { $Request = Request::fromHttpRequest($HttpRequest); } catch (CouldNotParse $Exception) { return $this->httpResponseFromResponse(ErrorResponse::parseError(), $TargetHttpResponse); } catch (InvalidArgumentException $Exception) { return $this->httpResponseFromResponse(ErrorResponse::invalidRequest($Exception->getMessage()), $TargetHttpResponse); } if ($Request instanceof BatchRequest) { return $this->httpResponseFromResponse($this->handleBatchRequest($Request), $TargetHttpResponse); } return $this->httpResponseFromResponse($this->handleRequest($Request), $TargetHttpResponse); }
/** * @dataProvider getValidDataSets * @param mixed $data */ public function testValidDataSets($data) { $ServerRequest = $this->createServerRequestForString(json_encode($data)); $this->assertInstanceOf(Request::class, Request::fromHttpRequest($ServerRequest)); }