dotkernel/dot-response-header

DotKernel 中间件,用于设置自定义响应头。

3.3.1 2024-05-27 10:41 UTC

This package is auto-updated.

Last update: 2024-09-03 05:40:39 UTC


README

OSS Lifecycle PHP from Packagist (specify version)

GitHub issues GitHub forks GitHub stars GitHub license

Build Static codecov

SymfonyInsight

设置和覆盖自定义响应头的中间件。

要求

  • PHP >= 8.1

安装

在您的项目根目录中运行以下命令

composer require dotkernel/dot-response-header

接下来,将包的 ConfigProvider 注册到您的应用程序配置中。

Dot\ResponseHeader\ConfigProvider::class,

注意:确保在 // DK packages 部分下注册此包。

注册包后,在 config/pipeline.php 中将其添加到中间件堆栈中,在 $app->pipe(RouteMiddleware::class); 之后。

$app->pipe(RouteMiddleware::class);
$app->pipe(\Dot\ResponseHeader\Middleware\ResponseHeaderMiddleware::class);

config/autoload 中创建一个名为 response-header.global.php 的新文件,包含以下配置数组

<?php
return [
    'dot_response_headers' => [
        '*' => [
            'CustomHeader1' => [
                'value' => 'CustomHeader1-Value',
                'overwrite' => true,
            ],
            'CustomHeader2' => [
                'value' => 'CustomHeader2-Value',
                'overwrite' => false,
            ],
        ],
        'home' => [
            'CustomHeader' => [
                'value' => 'header3',
            ]
        ],
        'login' => [
            'LoginHeader' => [
                'value' => 'LoginHeader-Value',
                'overwrite' => false
            ]
        ],
    ]
]; 

由于头信息与路由名称匹配,我们可以通过在 * 键下定义新的头信息为每个请求设置自定义响应头。

* 下的所有头信息将应用于每个响应。

要为特定一组路由添加响应头,请使用路由名称作为数组键定义一个新数组。

示例

'dot_response_headers' => [
    'user' => [
        'UserCustomHeader' => [
            'value' => 'UserCustomHeader-Value',
            'overwrite' => false
        ]
    ],
]

// This will set a new header named UserCustomHeader with the UserCustomHeader-Value value for any route name matching 'user'

要覆盖现有头信息,使用 overwrite => true