РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
490 of 1392 menu

Метод withHeaders

Метод withHeaders применяется к объекту ответа и позволяет добавить несколько HTTP-заголовков одновременно. В качестве параметра метод принимает массив, где ключами являются названия заголовков, а значениями - их содержимое. Метод возвращает тот же объект ответа, что позволяет использовать цепочки вызовов.

Синтаксис

<?php response($content)->withHeaders($headers); ?>

Пример

Давайте добавим несколько заголовков к ответу:

<?php use Illuminate\Support\Facades\Route; Route::get('/headers', function () { $headers = [ 'X-Header-One' => 'value1', 'X-Header-Two' => 'value2', 'X-Custom-Header' => 'custom-value' ]; return response('Hello World') ->withHeaders($headers); }); ?>

Пример

Давайте добавим заголовки для кеширования и типа содержимого:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class ArticleController extends Controller { public function show(Request $request) { $headers = [ 'Cache-Control' => 'no-cache, no-store, must-revalidate', 'Content-Type' => 'application/json', 'X-Content-Type-Options' => 'nosniff' ]; $data = [ 'status' => 'success', 'data' => ['id' => 1, 'title' => 'article'] ]; return response()->json($data) ->withHeaders($headers); } } ?>

Пример

Давайте добавим заголовки для защиты от кликджекинга:

<?php use Illuminate\Support\Facades\Route; Route::get('/secure', function () { $headers = [ 'X-Frame-Options' => 'DENY', 'X-XSS-Protection' => '1; mode=block', 'Referrer-Policy' => 'no-referrer' ]; return view('secure') ->withHeaders($headers); }); ?>

Пример

Давайте используем withHeaders вместе с другими методами ответа:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller { public function index(Request $request) { $headers = [ 'X-Total-Count' => '10', 'X-Page' => '1', 'X-Per-Page' => '10' ]; $users = [ ['id' => 1, 'name' => 'user1'], ['id' => 2, 'name' => 'user2'], ['id' => 3, 'name' => 'user3'] ]; return response() ->json($users) ->withHeaders($headers) ->cookie('last_visited', now()->toDateTimeString()); } } ?>

Смотрите также

  • метод header,
    который добавляет один заголовок к ответу
  • метод cookie,
    который добавляет cookie к ответу
  • метод json,
    который возвращает JSON-ответ
  • метод response,
    который создает новый объект ответа
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить