/var/www/vhosts/ihelp.ro/httpdocs/vendor/laminas/laminas-diactoros/src/Response
NameSizeModeActions
ArraySerializer.php27940644editdlrm
EmptyResponse.php8850644editdlrm
HtmlResponse.php20620644editdlrm
InjectContentTypeTrait.php7420644editdlrm
JsonResponse.php44850644editdlrm
RedirectResponse.php13770644editdlrm
Serializer.php30860644editdlrm
TextResponse.php20710644editdlrm
XmlResponse.php20870644editdlrm
Edit: /var/www/vhosts/ihelp.ro/httpdocs/vendor/laminas/laminas-diactoros/src/Response/JsonResponse.php (4485B)
setPayload($data); $json = $this->jsonEncode($data, $this->encodingOptions); $body = $this->createBodyFromJson($json); $headers = $this->injectContentType('application/json', $headers); parent::__construct($body, $status, $headers); } /** * @return mixed */ public function getPayload() { return $this->payload; } public function withPayload(mixed $data): JsonResponse { $new = clone $this; $new->setPayload($data); return $this->updateBodyFor($new); } public function getEncodingOptions(): int { return $this->encodingOptions; } public function withEncodingOptions(int $encodingOptions): JsonResponse { $new = clone $this; $new->encodingOptions = $encodingOptions; return $this->updateBodyFor($new); } private function createBodyFromJson(string $json): Stream { $body = new Stream('php://temp', 'wb+'); $body->write($json); $body->rewind(); return $body; } /** * Encode the provided data to JSON. * * @throws Exception\InvalidArgumentException If unable to encode the $data to JSON. */ private function jsonEncode(mixed $data, int $encodingOptions): string { if (is_resource($data)) { throw new Exception\InvalidArgumentException('Cannot JSON encode resources'); } // Clear json_last_error() json_encode(null); $json = json_encode($data, $encodingOptions); if (JSON_ERROR_NONE !== json_last_error()) { throw new Exception\InvalidArgumentException(sprintf( 'Unable to encode data to JSON in %s: %s', self::class, json_last_error_msg() )); } return $json; } private function setPayload(mixed $data): void { if (is_object($data)) { $data = clone $data; } $this->payload = $data; } /** * Update the response body for the given instance. * * @param self $toUpdate Instance to update. * @return JsonResponse Returns a new instance with an updated body. */ private function updateBodyFor(JsonResponse $toUpdate): JsonResponse { $json = $this->jsonEncode($toUpdate->payload, $toUpdate->encodingOptions); $body = $this->createBodyFromJson($json); return $toUpdate->withBody($body); } }