改名
This commit is contained in:
+12
-12
@@ -10,26 +10,26 @@ class Parse
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $content
|
* @param $content
|
||||||
* @param $contentType
|
|
||||||
* @return mixed
|
* @return mixed
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public static function data($content, $contentType): mixed
|
public static function data($content): mixed
|
||||||
{
|
{
|
||||||
if (empty($content)) {
|
if (empty($content)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (str_starts_with($content, '<') || str_contains($contentType, 'xml')) {
|
if (is_bool($content) || is_numeric($content)) {
|
||||||
return Xml::toArray($content);
|
return $content;
|
||||||
}
|
}
|
||||||
if (str_contains($contentType, 'x-www-form-urlencoded')) {
|
$start = substr($content, 0, 1);
|
||||||
parse_str($content, $array);
|
return match ($start) {
|
||||||
return $array;
|
'<' => Xml::toArray($content),
|
||||||
}
|
'[', '{' => json_decode($content, true),
|
||||||
if (str_contains($contentType, 'serialize')) {
|
default => call_user_func(function () use ($content) {
|
||||||
return unserialize($content);
|
parse_str($content, $array);
|
||||||
}
|
return $array;
|
||||||
return json_decode($content, true);
|
})
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -67,7 +67,6 @@ class ServerRequest extends Request implements ServerRequestInterface
|
|||||||
*/
|
*/
|
||||||
public static function createServerRequest(\Swoole\Http\Request $request): static|ServerRequestInterface
|
public static function createServerRequest(\Swoole\Http\Request $request): static|ServerRequestInterface
|
||||||
{
|
{
|
||||||
$contentType = $request->header['content-type'];
|
|
||||||
return (new static())->parseRequestHeaders($request)
|
return (new static())->parseRequestHeaders($request)
|
||||||
->withServerParams($request->server)
|
->withServerParams($request->server)
|
||||||
->withServerTarget($request)
|
->withServerTarget($request)
|
||||||
@@ -77,9 +76,9 @@ class ServerRequest extends Request implements ServerRequestInterface
|
|||||||
->withQueryParams($request->get ?? [])
|
->withQueryParams($request->get ?? [])
|
||||||
->withUploadedFiles($request->files ?? [])
|
->withUploadedFiles($request->files ?? [])
|
||||||
->withMethod($request->getMethod())
|
->withMethod($request->getMethod())
|
||||||
->withParsedBody(function (StreamInterface $stream, ?array $posts) use ($contentType) {
|
->withParsedBody(function (StreamInterface $stream, ?array $posts) {
|
||||||
try {
|
try {
|
||||||
$content = Parse::data($stream->getContents(), $contentType);
|
$content = Parse::data($stream->getContents());
|
||||||
if (!empty($content)) {
|
if (!empty($content)) {
|
||||||
return $content;
|
return $content;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user