denismitr / etag
Etag 中间件用于 Laravel
v2.1.0
2020-02-15 21:00 UTC
Requires
- php: ^7.2
- ext-json: *
- illuminate/support: 5.8.*|^6.0
Requires (Dev)
- mockery/mockery: ^1.2.1
- orchestra/testbench: 3.8.*|^4.0
- phpunit/phpunit: ^7.5|^8.0
This package is auto-updated.
Last update: 2024-09-16 07:52:44 UTC
README
这是一个专门为 Laravel 框架和用其构建的 RESTful API 设计的中间件。它会计算响应内容的哈希值并将其添加到 HTTP 响应的 ETag 标头中。然后它监听期望在响应中接收到 json 的请求的 If-Match 和 If-None-Match 标头,以确定是否需要发送新的内容,或者只需发送 304 Not Modified 响应就足够了。
作者
Denis Mitrofanov
安装
使用 composer 安装此包
composer require denismitr/etag
在您的 app/Http/Kernel.php
文件中将它包含到相应的部分(如果您的所有路由都是 API 或使用命名中间件 + API 中间件组以使其适用于每个 API 路由或仅使用命名中间件,则对所有请求)
全局中间件
/** * The application's global HTTP middleware stack. * * These middleware are run during every request to your application. * * @var array */ protected $middleware = [ ... \Denismitr\ETags\ETagMiddleware::class ];
命名中间件
/** * The application's route middleware. * * These middleware may be assigned to groups or used individually. * * @var array */ protected $routeMiddleware = [ ... 'etag' => \Denismitr\ETags\ETagMiddleware::class, ]; /** * The application's route middleware groups. * * @var array */ protected $middlewareGroups = [ 'web' => [ ... ], 'api' => [ ... 'etag' ], ];