Skip to content

Commit

Permalink
Close #190
Browse files Browse the repository at this point in the history
  • Loading branch information
neomerx committed Jan 26, 2018
1 parent 5bbdc91 commit 8932469
Showing 22 changed files with 734 additions and 1,428 deletions.
30 changes: 0 additions & 30 deletions src/Contracts/Http/Headers/AcceptHeaderInterface.php

This file was deleted.

46 changes: 0 additions & 46 deletions src/Contracts/Http/Headers/HeaderInterface.php

This file was deleted.

44 changes: 0 additions & 44 deletions src/Contracts/Http/Headers/HeaderParametersInterface.php

This file was deleted.

26 changes: 18 additions & 8 deletions src/Contracts/Http/Headers/HeaderParametersParserInterface.php
Original file line number Diff line number Diff line change
@@ -16,22 +16,32 @@
* limitations under the License.
*/

use Psr\Http\Message\ServerRequestInterface;

/**
* @package Neomerx\JsonApi
*/
interface HeaderParametersParserInterface
{
/** Header name that contains format of output data from client */
const HEADER_ACCEPT = 'Accept';

/** Header name that contains format of input data from client */
const HEADER_CONTENT_TYPE = 'Content-Type';

/**
* Parse input parameters from request.
* Parse input as `Accept` header.
*
* @param string $value
*
* @param ServerRequestInterface $request
* @param bool $checkContentType
* @return iterable
*/
public function parseAcceptHeader(string $value): iterable;

/**
* Parse input as `Content-Type` header.
*
* @return HeaderParametersInterface
* @param string $value
*
* @SuppressWarnings(PHPMD.BooleanArgumentFlag)
* @return MediaTypeInterface
*/
public function parse(ServerRequestInterface $request, bool $checkContentType = true): HeaderParametersInterface;
public function parseContentTypeHeader(string $value): MediaTypeInterface;
}
36 changes: 0 additions & 36 deletions src/Contracts/Http/HttpFactoryInterface.php
Original file line number Diff line number Diff line change
@@ -18,10 +18,7 @@

use Neomerx\JsonApi\Contracts\Encoder\Parameters\EncodingParametersInterface;
use Neomerx\JsonApi\Contracts\Encoder\Parameters\ParametersAnalyzerInterface;
use Neomerx\JsonApi\Contracts\Http\Headers\AcceptHeaderInterface;
use Neomerx\JsonApi\Contracts\Http\Headers\AcceptMediaTypeInterface;
use Neomerx\JsonApi\Contracts\Http\Headers\HeaderInterface;
use Neomerx\JsonApi\Contracts\Http\Headers\HeaderParametersInterface;
use Neomerx\JsonApi\Contracts\Http\Headers\HeaderParametersParserInterface;
use Neomerx\JsonApi\Contracts\Http\Headers\MediaTypeInterface;
use Neomerx\JsonApi\Contracts\Schema\ContainerInterface;
@@ -68,30 +65,6 @@ public function createQueryParameters(
array $fieldSets = null
): EncodingParametersInterface;

/**
* @param string $method
* @param AcceptHeaderInterface $accept
* @param HeaderInterface $contentType
*
* @return HeaderParametersInterface
*/
public function createHeaderParameters(
string $method,
AcceptHeaderInterface $accept,
HeaderInterface $contentType
): HeaderParametersInterface;

/**
* @param string $method
* @param AcceptHeaderInterface $accept
*
* @return HeaderParametersInterface
*/
public function createNoContentHeaderParameters(
string $method,
AcceptHeaderInterface $accept
): HeaderParametersInterface;

/**
* Create parameters parser.
*
@@ -117,13 +90,4 @@ public function createAcceptMediaType(
array $parameters = null,
float $quality = 1.0
): AcceptMediaTypeInterface;

/**
* Create Accept HTTP header.
*
* @param AcceptMediaTypeInterface[] $unsortedMediaTypes
*
* @return AcceptHeaderInterface
*/
public function createAcceptHeader(array $unsortedMediaTypes): AcceptHeaderInterface;
}
8 changes: 0 additions & 8 deletions src/Exceptions/JsonApiException.php
Original file line number Diff line number Diff line change
@@ -128,12 +128,4 @@ public function getHttpCode(): int
{
return $this->httpCode;
}

/**
* @param JsonApiException $exception
*/
public static function throwException(JsonApiException $exception)
{
throw $exception;
}
}
34 changes: 0 additions & 34 deletions src/Factories/Factory.php
Original file line number Diff line number Diff line change
@@ -32,10 +32,7 @@
use Neomerx\JsonApi\Contracts\Encoder\Stack\StackInterface;
use Neomerx\JsonApi\Contracts\Encoder\Stack\StackReadOnlyInterface;
use Neomerx\JsonApi\Contracts\Factories\FactoryInterface;
use Neomerx\JsonApi\Contracts\Http\Headers\AcceptHeaderInterface;
use Neomerx\JsonApi\Contracts\Http\Headers\AcceptMediaTypeInterface;
use Neomerx\JsonApi\Contracts\Http\Headers\HeaderInterface;
use Neomerx\JsonApi\Contracts\Http\Headers\HeaderParametersInterface;
use Neomerx\JsonApi\Contracts\Http\Headers\HeaderParametersParserInterface;
use Neomerx\JsonApi\Contracts\Http\Headers\MediaTypeInterface;
use Neomerx\JsonApi\Contracts\Schema\ContainerInterface;
@@ -56,9 +53,7 @@
use Neomerx\JsonApi\Encoder\Parser\ParserReply;
use Neomerx\JsonApi\Encoder\Stack\Stack;
use Neomerx\JsonApi\Encoder\Stack\StackFrame;
use Neomerx\JsonApi\Http\Headers\AcceptHeader;
use Neomerx\JsonApi\Http\Headers\AcceptMediaType;
use Neomerx\JsonApi\Http\Headers\HeaderParameters;
use Neomerx\JsonApi\Http\Headers\HeaderParametersParser;
use Neomerx\JsonApi\Http\Headers\MediaType;
use Neomerx\JsonApi\Schema\Container;
@@ -243,27 +238,6 @@ public function createQueryParameters(
return new EncodingParameters($includePaths, $fieldSets);
}

/**
* @inheritdoc
*/
public function createHeaderParameters(
string $method,
AcceptHeaderInterface $accept,
HeaderInterface $contentType
): HeaderParametersInterface {
return new HeaderParameters($method, $accept, $contentType);
}

/**
* @inheritdoc
*/
public function createNoContentHeaderParameters(
string $method,
AcceptHeaderInterface $accept
): HeaderParametersInterface {
return new HeaderParameters($method, $accept, null);
}

/**
* @inheritdoc
*/
@@ -289,14 +263,6 @@ public function createAcceptMediaType(
return new AcceptMediaType($position, $type, $subType, $parameters, $quality);
}

/**
* @inheritdoc
*/
public function createAcceptHeader(array $unsortedMediaTypes): AcceptHeaderInterface
{
return new AcceptHeader($unsortedMediaTypes);
}

/**
* @inheritdoc
*/
8 changes: 4 additions & 4 deletions src/Http/Responses.php → src/Http/BaseResponses.php
Original file line number Diff line number Diff line change
@@ -19,7 +19,7 @@
use Neomerx\JsonApi\Contracts\Document\ErrorInterface;
use Neomerx\JsonApi\Contracts\Encoder\EncoderInterface;
use Neomerx\JsonApi\Contracts\Encoder\Parameters\EncodingParametersInterface;
use Neomerx\JsonApi\Contracts\Http\Headers\HeaderInterface;
use Neomerx\JsonApi\Contracts\Http\Headers\HeaderParametersParserInterface;
use Neomerx\JsonApi\Contracts\Http\Headers\MediaTypeInterface;
use Neomerx\JsonApi\Contracts\Http\ResponsesInterface;
use Neomerx\JsonApi\Contracts\Schema\ContainerInterface;
@@ -28,13 +28,13 @@
/**
* @package Neomerx\JsonApi
*/
abstract class Responses implements ResponsesInterface
abstract class BaseResponses implements ResponsesInterface
{
/** Header name that contains format of input data from client */
const HEADER_CONTENT_TYPE = HeaderInterface::HEADER_CONTENT_TYPE;
const HEADER_CONTENT_TYPE = HeaderParametersParserInterface::HEADER_CONTENT_TYPE;

/** Header name that location of newly created resource */
const HEADER_LOCATION = HeaderInterface::HEADER_LOCATION;
const HEADER_LOCATION = 'Location';

/**
* Create HTTP response.
Loading

0 comments on commit 8932469

Please sign in to comment.