mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-23 18:03:17 +00:00
Change to comply negotiation:^2.0.0
This commit is contained in:
@@ -60,7 +60,7 @@ return call_user_func(function ($environment = PhraseaApplication::ENV_PROD) {
|
|||||||
$request->setFormat(Result::FORMAT_JSONP_EXTENDED, V1::$extendedContentTypes['jsonp']);
|
$request->setFormat(Result::FORMAT_JSONP_EXTENDED, V1::$extendedContentTypes['jsonp']);
|
||||||
$request->setFormat(Result::FORMAT_JSONP, array('text/javascript', 'application/javascript'));
|
$request->setFormat(Result::FORMAT_JSONP, array('text/javascript', 'application/javascript'));
|
||||||
|
|
||||||
$format = $app['format.negotiator']->getBest(
|
$format = $app['negotiator']->getBest(
|
||||||
$request->headers->get('accept', 'application/json'),
|
$request->headers->get('accept', 'application/json'),
|
||||||
array_merge(
|
array_merge(
|
||||||
['application/json', 'application/yaml', 'text/yaml', 'text/javascript', 'application/javascript'],
|
['application/json', 'application/yaml', 'text/yaml', 'text/javascript', 'application/javascript'],
|
||||||
|
@@ -14,11 +14,7 @@ namespace Alchemy\Phrasea\Core\Event\Subscriber;
|
|||||||
use Alchemy\Phrasea\Application;
|
use Alchemy\Phrasea\Application;
|
||||||
use Symfony\Component\HttpKernel\KernelEvents;
|
use Symfony\Component\HttpKernel\KernelEvents;
|
||||||
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||||
use Symfony\Component\HttpKernel\HttpKernelInterface;
|
|
||||||
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
|
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
|
||||||
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
|
|
||||||
|
|
||||||
class ContentNegotiationSubscriber implements EventSubscriberInterface
|
class ContentNegotiationSubscriber implements EventSubscriberInterface
|
||||||
{
|
{
|
||||||
@@ -38,8 +34,8 @@ class ContentNegotiationSubscriber implements EventSubscriberInterface
|
|||||||
|
|
||||||
public function onKernelRequest(GetResponseEvent $event)
|
public function onKernelRequest(GetResponseEvent $event)
|
||||||
{
|
{
|
||||||
$priorities = array('text/html', 'application/json', '*/*');
|
$priorities = array('text/html', 'application/json');
|
||||||
$format = $this->app['format.negotiator']->getBest($event->getRequest()->headers->get('accept', '*/*'), $priorities);
|
$format = $this->app['negotiator']->getBest($event->getRequest()->headers->get('accept', '*/*'), $priorities);
|
||||||
|
|
||||||
if (null === $format) {
|
if (null === $format) {
|
||||||
$this->app->abort(406, 'Not acceptable');
|
$this->app->abort(406, 'Not acceptable');
|
||||||
|
@@ -11,7 +11,8 @@
|
|||||||
|
|
||||||
namespace Alchemy\Phrasea\Core\Provider;
|
namespace Alchemy\Phrasea\Core\Provider;
|
||||||
|
|
||||||
use Negotiation\FormatNegotiator;
|
use Negotiation\CharsetNegotiator;
|
||||||
|
use Negotiation\EncodingNegotiator;
|
||||||
use Negotiation\LanguageNegotiator;
|
use Negotiation\LanguageNegotiator;
|
||||||
use Negotiation\Negotiator;
|
use Negotiation\Negotiator;
|
||||||
use Silex\Application;
|
use Silex\Application;
|
||||||
@@ -21,15 +22,17 @@ class ContentNegotiationServiceProvider implements ServiceProviderInterface
|
|||||||
{
|
{
|
||||||
public function register(Application $app)
|
public function register(Application $app)
|
||||||
{
|
{
|
||||||
$app['negotiator'] = $app->share(function ($app) {
|
$app['negotiator'] = $app->share(function () {
|
||||||
return new Negotiator();
|
return new Negotiator();
|
||||||
});
|
});
|
||||||
|
|
||||||
$app['format.negotiator'] = $app->share(function ($app) {
|
$app['charset.negotiator'] = $app->share(function () {
|
||||||
return new FormatNegotiator();
|
return new CharsetNegotiator();
|
||||||
});
|
});
|
||||||
|
$app['encoding.negotiator'] = $app->share(function () {
|
||||||
$app['langage.negotiator'] = $app->share(function ($app) {
|
return new EncodingNegotiator();
|
||||||
|
});
|
||||||
|
$app['language.negotiator'] = $app->share(function () {
|
||||||
return new LanguageNegotiator();
|
return new LanguageNegotiator();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@@ -21,12 +21,7 @@ class classContentNegotiationServiceProviderTest extends ServiceProviderTestCase
|
|||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'Alchemy\Phrasea\Core\Provider\ContentNegotiationServiceProvider',
|
'Alchemy\Phrasea\Core\Provider\ContentNegotiationServiceProvider',
|
||||||
'format.negotiator',
|
'language.negotiator',
|
||||||
'Negotiation\FormatNegotiator'
|
|
||||||
),
|
|
||||||
array(
|
|
||||||
'Alchemy\Phrasea\Core\Provider\ContentNegotiationServiceProvider',
|
|
||||||
'langage.negotiator',
|
|
||||||
'Negotiation\LanguageNegotiator'
|
'Negotiation\LanguageNegotiator'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
Reference in New Issue
Block a user