dotkernel / dot-response-header
DotKernel 中间件,用于设置自定义响应头。
3.3.1
2024-05-27 10:41 UTC
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0
- mezzio/mezzio-router: ^3.16
- psr/http-client: ^1.0
- psr/http-message: ^1.0 || ^2.0
Requires (Dev)
- laminas/laminas-coding-standard: ^2.5
- laminas/laminas-diactoros: ^3.1
- phpunit/phpunit: ^10.2
- vimeo/psalm: ^5.13
README
设置和覆盖自定义响应头的中间件。
要求
- 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
。