forked from loafle/openapi-generator-original
* [Slim4] Bump PHP_CodeSniffer version to 3.5.* * [Slim4] Update samples * [Slim4] Update template to meet PSR-12
67 lines
2.0 KiB
PHP
67 lines
2.0 KiB
PHP
<?php
|
|
|
|
/**
|
|
* JsonBodyParserMiddleware
|
|
*
|
|
* PHP version 7.1
|
|
*
|
|
* @package OpenAPIServer
|
|
* @author OpenAPI Generator team
|
|
* @link https://github.com/openapitools/openapi-generator
|
|
*/
|
|
|
|
/**
|
|
* OpenAPI Petstore
|
|
*
|
|
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
|
* The version of the OpenAPI document: 1.0.0
|
|
* Generated by: https://github.com/openapitools/openapi-generator.git
|
|
*/
|
|
|
|
/**
|
|
* NOTE: This class is auto generated by the openapi generator program.
|
|
* https://github.com/openapitools/openapi-generator
|
|
* Do not edit the class manually.
|
|
*/
|
|
namespace OpenAPIServer\Middleware;
|
|
|
|
use Psr\Http\Message\ResponseInterface;
|
|
use Psr\Http\Message\ServerRequestInterface;
|
|
use Psr\Http\Server\MiddlewareInterface;
|
|
use Psr\Http\Server\RequestHandlerInterface;
|
|
|
|
/**
|
|
* JsonBodyParserMiddleware Class Doc Comment
|
|
*
|
|
* @package OpenAPIServer\Middleware
|
|
* @author OpenAPI Generator team
|
|
* @link https://github.com/openapitools/openapi-generator
|
|
*/
|
|
final class JsonBodyParserMiddleware implements MiddlewareInterface
|
|
{
|
|
|
|
/**
|
|
* Parse incoming JSON input into a native PHP format
|
|
* Copied from Slim4 guide
|
|
* @ref https://www.slimframework.com/docs/v4/objects/request.html#the-request-body
|
|
*
|
|
* @param ServerRequestInterface $request HTTP request
|
|
* @param RequestHandlerInterface $handler Request handler
|
|
*
|
|
* @return ResponseInterface HTTP response
|
|
*/
|
|
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
|
|
{
|
|
$contentType = $request->getHeaderLine('Content-Type');
|
|
|
|
if (strstr($contentType, 'application/json')) {
|
|
$contents = json_decode(file_get_contents('php://input'), true);
|
|
if (json_last_error() === JSON_ERROR_NONE) {
|
|
$request = $request->withParsedBody($contents);
|
|
}
|
|
}
|
|
|
|
return $handler->handle($request);
|
|
}
|
|
}
|