/**
  * @dataProvider getData
  */
 public function testGetBestFormat($acceptHeader, $format, $priorities, $preferExtension, $expected)
 {
     $request = new Request();
     $request->headers->set('Accept', $acceptHeader);
     $request->attributes->set('_format', $format);
     $formatNegotiator = new FormatNegotiator();
     $this->assertEquals($expected, $formatNegotiator->getBestFormat($request, $priorities, $preferExtension));
 }
Esempio n. 2
0
 /**
  * Core request handler
  *
  * @param GetResponseEvent $event The event
  */
 public function onKernelRequest(GetResponseEvent $event)
 {
     $request = $event->getRequest();
     if (HttpKernelInterface::MASTER_REQUEST === $event->getRequestType()) {
         foreach ($this->mimeTypes as $format => $mimeType) {
             $request->setFormat($format, $mimeType);
             $this->formatNegotiator->registerFormat($format, (array) $mimeType, true);
         }
     }
 }
Esempio n. 3
0
 public function testOnKernelControllerNegotiationStopped()
 {
     $event = $this->getMockBuilder('Symfony\\Component\\HttpKernel\\Event\\GetResponseEvent')->disableOriginalConstructor()->getMock();
     $request = new Request();
     $request->setRequestFormat('xml');
     $event->expects($this->once())->method('getRequest')->will($this->returnValue($request));
     $formatNegotiator = new FormatNegotiator();
     $formatNegotiator->add(new RequestMatcher('/'), array('stop' => true));
     $formatNegotiator->add(new RequestMatcher('/'), array('fallback_format' => 'json'));
     $listener = new FormatListener($formatNegotiator);
     $listener->onKernelRequest($event);
     $this->assertEquals($request->getRequestFormat(), 'xml');
 }