Submit
Path:
~
/
/
usr
/
local
/
psa
/
admin
/
plib
/
modules
/
grafana
/
vendor
/
laminas
/
laminas-diactoros
/
src
/
Request
/
File Content:
ArraySerializer.php
<?php declare (strict_types=1); namespace PleskGrafana\Laminas\Diactoros\Request; use PleskGrafana\Laminas\Diactoros\Exception; use PleskGrafana\Laminas\Diactoros\Request; use PleskGrafana\Laminas\Diactoros\Stream; use Psr\Http\Message\RequestInterface; use Throwable; use function sprintf; /** * Serialize or deserialize request messages to/from arrays. * * This class provides functionality for serializing a RequestInterface instance * to an array, as well as the reverse operation of creating a Request instance * from an array representing a message. */ final class ArraySerializer { /** * Serialize a request message to an array. * * @return array{ * method: string, * request_target: string, * uri: string, * protocol_version: string, * headers: array<array<string>>, * body: string * } */ public static function toArray(RequestInterface $request) : array { return ['method' => $request->getMethod(), 'request_target' => $request->getRequestTarget(), 'uri' => (string) $request->getUri(), 'protocol_version' => $request->getProtocolVersion(), 'headers' => $request->getHeaders(), 'body' => (string) $request->getBody()]; } /** * Deserialize a request array to a request instance. * * @throws Exception\DeserializationException When the response cannot be deserialized. */ public static function fromArray(array $serializedRequest) : Request { try { $uri = self::getValueFromKey($serializedRequest, 'uri'); $method = self::getValueFromKey($serializedRequest, 'method'); $body = new Stream('php://memory', 'wb+'); $body->write(self::getValueFromKey($serializedRequest, 'body')); $headers = self::getValueFromKey($serializedRequest, 'headers'); $requestTarget = self::getValueFromKey($serializedRequest, 'request_target'); $protocolVersion = self::getValueFromKey($serializedRequest, 'protocol_version'); return (new Request($uri, $method, $body, $headers))->withRequestTarget($requestTarget)->withProtocolVersion($protocolVersion); } catch (Throwable $exception) { throw Exception\DeserializationException::forRequestFromArray($exception); } } /** * @return mixed * @throws Exception\DeserializationException */ private static function getValueFromKey(array $data, string $key, ?string $message = null) { if (isset($data[$key])) { return $data[$key]; } if ($message === null) { $message = sprintf('Missing "%s" key in serialized request', $key); } throw new Exception\DeserializationException($message); } }
Edit
Rename
Chmod
Delete
FILE
FOLDER
INFO
Name
Size
Permission
Action
ArraySerializer.php
2787 bytes
0644
Serializer.php
4196 bytes
0644
N4ST4R_ID | Naxtarrr