Skip to content

Commit 3f63e2d

Browse files
committed
Fix dependency on http-accept now that a version has been tagged
1 parent 6183f01 commit 3f63e2d

File tree

2 files changed

+8
-17
lines changed

2 files changed

+8
-17
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"nyholm/psr7": "^1.3",
1010
"psr/http-message": "^1.0",
1111
"psr/http-server-handler": "^1.0",
12-
"xynha/http-accept": "dev-master#b712d4ae64ca53fa835667fda73605ae16cddcbb"
12+
"hnet/http-accept": "^0.1"
1313
},
1414
"license": "MIT",
1515
"authors": [

src/JsonApi.php

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
namespace Tobyz\JsonApiServer;
1313

14+
use HttpAccept\AcceptParser;
1415
use JsonApiPhp\JsonApi\ErrorDocument;
1516
use Psr\Http\Message\ResponseInterface as Response;
1617
use Psr\Http\Message\ServerRequestInterface as Request;
@@ -26,7 +27,6 @@
2627
use Tobyz\JsonApiServer\Exception\UnsupportedMediaTypeException;
2728
use Tobyz\JsonApiServer\Extension\Extension;
2829
use Tobyz\JsonApiServer\Schema\Concerns\HasMeta;
29-
use Xynha\HttpAccept\AcceptParser;
3030

3131
final class JsonApi implements RequestHandlerInterface
3232
{
@@ -236,13 +236,13 @@ private function getContentTypeExtensionUris(Request $request): array
236236
throw new UnsupportedMediaTypeException();
237237
}
238238

239-
$parameters = $this->parseParameters($mediaType->parameters());
239+
$parameters = $mediaType->parameter();
240240

241-
if (! empty(array_diff(array_keys($parameters), ['ext', 'profile']))) {
241+
if (! empty(array_diff(array_keys($parameters->all()), ['ext', 'profile']))) {
242242
throw new UnsupportedMediaTypeException();
243243
}
244244

245-
$extensionUris = isset($parameters['ext']) ? explode(' ', $parameters['ext']) : [];
245+
$extensionUris = $parameters->has('ext') ? explode(' ', $parameters->get('ext')) : [];
246246

247247
if (! empty(array_diff($extensionUris, array_keys($this->extensions)))) {
248248
throw new UnsupportedMediaTypeException();
@@ -264,13 +264,13 @@ private function getAcceptableExtensionUris(Request $request): array
264264
continue;
265265
}
266266

267-
$parameters = $this->parseParameters($mediaType->parameters());
267+
$parameters = $mediaType->parameter();
268268

269-
if (! empty(array_diff(array_keys($parameters), ['ext', 'profile']))) {
269+
if (! empty(array_diff(array_keys($parameters->all()), ['ext', 'profile']))) {
270270
continue;
271271
}
272272

273-
$extensionUris = isset($parameters['ext']) ? explode(' ', $parameters['ext']) : [];
273+
$extensionUris = $parameters->has('ext') ? explode(' ', $parameters->get('ext')) : [];
274274

275275
if (! empty(array_diff($extensionUris, array_keys($this->extensions)))) {
276276
continue;
@@ -282,15 +282,6 @@ private function getAcceptableExtensionUris(Request $request): array
282282
throw new NotAcceptableException();
283283
}
284284

285-
private function parseParameters(array $parameters): array
286-
{
287-
return array_reduce($parameters, function ($a, $v) {
288-
$parts = explode('=', $v, 2);
289-
$a[$parts[0]] = trim($parts[1], '"');
290-
return $a;
291-
}, []);
292-
}
293-
294285
/**
295286
* Convert an exception into a JSON:API error document response.
296287
*

0 commit comments

Comments
 (0)