public function testRouterHandlesCustomEtag()
 {
     $this->router->api(['version' => 'v1'], function () {
         $this->router->get('foo', function () {
             $response = new Response('bar');
             $response->setEtag('custom-etag');
             return $response;
         });
     });
     $request = Request::create('foo', 'GET');
     $request->headers->set('If-None-Match', '"custom-etag"', true);
     $request->headers->set('accept', 'application/vnd.testing.v1+json');
     $this->router->setConditionalRequest(true);
     $response = $this->router->dispatch($request);
     $this->assertEquals(304, $response->getStatusCode());
     $this->assertEquals('"custom-etag"', $response->getETag());
     $this->assertEquals(null, $response->getContent());
 }
Example #2
0
 public function testRouterHandlesCustomEtag()
 {
     $this->router->version('v1', ['conditional_request' => true], function () {
         $this->router->get('foo', function () {
             $response = new Http\Response('bar');
             $response->setEtag('custom-etag');
             return $response;
         });
     });
     $response = $this->router->dispatch($this->createRequest('foo', 'GET', ['if-none-match' => '"custom-etag"', 'accept' => 'application/vnd.api.v1+json']));
     $this->assertEquals(304, $response->getStatusCode());
     $this->assertEquals('"custom-etag"', $response->getETag());
     $this->assertEquals(null, $response->getContent());
 }