mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-18 15:33:15 +00:00
Change content type negotiation in API.
Fix typo in negotiator word.
This commit is contained in:
@@ -51,11 +51,14 @@ return call_user_func(function ($environment = PhraseaApplication::ENV_PROD) {
|
||||
$request->setFormat(Result::FORMAT_JSONP_EXTENDED, V1::$extendedContentTypes['jsonp']);
|
||||
$request->setFormat(Result::FORMAT_JSONP, array('text/javascript', 'application/javascript'));
|
||||
|
||||
// handle content negociation
|
||||
$priorities = array('application/json', 'application/yaml', 'text/yaml', 'text/javascript', 'application/javascript');
|
||||
foreach (V1::$extendedContentTypes['json'] as $priorities[]);
|
||||
foreach (V1::$extendedContentTypes['yaml'] as $priorities[]);
|
||||
$format = $app['format.negociator']->getBest($request->headers->get('accept', 'application/json') ,$priorities);
|
||||
$format = $app['format.negotiator']->getBest(
|
||||
$request->headers->get('accept', 'application/json'),
|
||||
array_merge(
|
||||
['application/json', 'application/yaml', 'text/yaml', 'text/javascript', 'application/javascript'],
|
||||
V1::$extendedContentTypes['json'],
|
||||
V1::$extendedContentTypes['yaml']
|
||||
)
|
||||
);
|
||||
|
||||
// throw unacceptable http error if API can not handle asked format
|
||||
if (null === $format) {
|
||||
|
@@ -39,7 +39,7 @@ class ContentNegotiationSubscriber implements EventSubscriberInterface
|
||||
public function onKernelRequest(GetResponseEvent $event)
|
||||
{
|
||||
$priorities = array('text/html', 'application/json', '*/*');
|
||||
$format = $this->app['format.negociator']->getBest($event->getRequest()->headers->get('accept', '*/*'), $priorities);
|
||||
$format = $this->app['format.negotiator']->getBest($event->getRequest()->headers->get('accept', '*/*'), $priorities);
|
||||
|
||||
if (null === $format) {
|
||||
$this->app->abort(406, 'Not acceptable');
|
||||
|
@@ -21,15 +21,15 @@ class ContentNegotiationServiceProvider implements ServiceProviderInterface
|
||||
{
|
||||
public function register(Application $app)
|
||||
{
|
||||
$app['negociator'] = $app->share(function ($app) {
|
||||
$app['negotiator'] = $app->share(function ($app) {
|
||||
return new Negotiator();
|
||||
});
|
||||
|
||||
$app['format.negociator'] = $app->share(function ($app) {
|
||||
$app['format.negotiator'] = $app->share(function ($app) {
|
||||
return new FormatNegotiator();
|
||||
});
|
||||
|
||||
$app['langage.negociator'] = $app->share(function ($app) {
|
||||
$app['langage.negotiator'] = $app->share(function ($app) {
|
||||
return new LanguageNegotiator();
|
||||
});
|
||||
}
|
||||
|
@@ -12,17 +12,17 @@ class classContentNegotiationServiceProviderTest extends ServiceProviderTestCase
|
||||
return array(
|
||||
array(
|
||||
'Alchemy\Phrasea\Core\Provider\ContentNegotiationServiceProvider',
|
||||
'negociator',
|
||||
'negotiator',
|
||||
'Negotiation\Negotiator',
|
||||
),
|
||||
array(
|
||||
'Alchemy\Phrasea\Core\Provider\ContentNegotiationServiceProvider',
|
||||
'format.negociator',
|
||||
'format.negotiator',
|
||||
'Negotiation\FormatNegotiator'
|
||||
),
|
||||
array(
|
||||
'Alchemy\Phrasea\Core\Provider\ContentNegotiationServiceProvider',
|
||||
'langage.negociator',
|
||||
'langage.negotiator',
|
||||
'Negotiation\LanguageNegotiator'
|
||||
)
|
||||
);
|
||||
|
Reference in New Issue
Block a user