Phprest\Middleware\ApiVersion::handle PHP Method

handle() public method

public handle ( Request $request, integer $type = self::MASTER_REQUEST, boolean $catch = true ) : Response
$request Symfony\Component\HttpFoundation\Request
$type integer
$catch boolean
return Symfony\Component\HttpFoundation\Response
    public function handle(BaseRequest $request, $type = self::MASTER_REQUEST, $catch = true)
    {
        $request = new Request($request);
        $mimeProcResult = $this->processMime((new FormatNegotiator())->getBest($request->headers->get('Accept', '*/*'))->getValue());
        $request->setApiVersion(str_pad($mimeProcResult->apiVersion, 3, '.0'));
        return $this->app->handle($request, $type, $catch);
    }

Usage Example

コード例 #1
0
ファイル: ApiVersionTest.php プロジェクト: phprest/phprest
 /**
  * @dataProvider appProvider
  *
  * @param Application $app
  */
 public function testHandle(Application $app)
 {
     $middleware = new ApiVersion($app);
     /** @var \Mockery\MockInterface $app */
     $app->shouldReceive('handle')->andReturnUsing(function ($request) {
         $this->assertInstanceOf('Phprest\\HttpFoundation\\Request', $request);
         /** @var \Phprest\HttpFoundation\Request $request */
         $this->assertEquals('/2.6/temperatures', $request->getPathInfo());
     });
     $middleware->handle(Request::create('/temperatures'));
 }