From 70539e6b206a3e993276f6f8da0839966bfa2dbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=91=E6=9E=97?= Date: Fri, 11 Aug 2023 18:23:24 +0800 Subject: [PATCH] qqq --- Handler/OnRequest.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Handler/OnRequest.php b/Handler/OnRequest.php index d14b069..2dd2281 100644 --- a/Handler/OnRequest.php +++ b/Handler/OnRequest.php @@ -6,6 +6,7 @@ namespace Kiri\Server\Handler; use Exception; use Kiri; +use Kiri\Core\Xml; use Kiri\Di\Inject\Container; use Kiri\Di\Context; use Kiri\Di\Interface\ResponseEmitterInterface; @@ -127,9 +128,15 @@ class OnRequest implements OnRequestInterface ->withServerParams($request->server) ->withQueryParams($request->get ?? []) ->withUploadedFiles($request->files ?? []) - ->withMethod($request->getMethod()) - ->withParsedBody($request->post ?? []); - + ->withMethod($request->getMethod()); + $contentType = $serverRequest->header('Content-Type'); + if (str_contains($contentType, 'json')) { + $serverRequest->withParsedBody(json_decode($request->post, true)); + } else if (str_contains($contentType, 'xml')) { + $serverRequest->withParsedBody(Xml::toArray($request->post)); + } else { + $serverRequest->withParsedBody($request->post ?? []); + } /** @var ConstrictRequest $PsrRequest */ return Context::set(RequestInterface::class, $serverRequest); }