You are here

protected function JsonResponse::update in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/symfony/http-foundation/JsonResponse.php \Symfony\Component\HttpFoundation\JsonResponse::update()

Updates the content and headers according to the JSON data and callback.

Return value

JsonResponse

2 calls to JsonResponse::update()
JsonResponse::setCallback in vendor/symfony/http-foundation/JsonResponse.php
Sets the JSONP callback.
JsonResponse::setData in vendor/symfony/http-foundation/JsonResponse.php
Sets the data to be sent as JSON.

File

vendor/symfony/http-foundation/JsonResponse.php, line 182

Class

JsonResponse
Response represents an HTTP response in JSON format.

Namespace

Symfony\Component\HttpFoundation

Code

protected function update() {
  if (null !== $this->callback) {

    // Not using application/javascript for compatibility reasons with older browsers.
    $this->headers
      ->set('Content-Type', 'text/javascript');
    return $this
      ->setContent(sprintf('/**/%s(%s);', $this->callback, $this->data));
  }

  // Only set the header when there is none or when it equals 'text/javascript' (from a previous update with callback)
  // in order to not overwrite a custom definition.
  if (!$this->headers
    ->has('Content-Type') || 'text/javascript' === $this->headers
    ->get('Content-Type')) {
    $this->headers
      ->set('Content-Type', 'application/json');
  }
  return $this
    ->setContent($this->data);
}