You are here

public function NegotiationMiddleware::handle in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php \Drupal\Core\StackMiddleware\NegotiationMiddleware::handle()

Handles a Request to convert it to a Response.

When $catch is true, the implementation must catch all exceptions and do its best to convert them to a Response instance.

Parameters

Request $request A Request instance:

int $type The type of the request: (one of HttpKernelInterface::MASTER_REQUEST or HttpKernelInterface::SUB_REQUEST)

bool $catch Whether to catch exceptions or not:

Return value

Response A Response instance

Throws

\Exception When an Exception occurs during processing

Overrides HttpKernelInterface::handle

File

core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php, line 47
Contains \Drupal\Core\StackMiddleware\NegotiationMiddleware.

Class

NegotiationMiddleware
Provides a middleware to determine the content type upon the accept header.

Namespace

Drupal\Core\StackMiddleware

Code

public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true) {

  // Register available mime types.
  foreach ($this->formats as $format => $mime_type) {
    $request
      ->setFormat($format, $mime_type);
  }

  // Determine the request format using the negotiator.
  $request
    ->setRequestFormat($this
    ->getContentType($request));
  return $this->app
    ->handle($request, $type, $catch);
}