Etag 中间件用于 Laravel

v2.1.0 2020-02-15 21:00 UTC

This package is auto-updated.

Last update: 2024-09-16 07:52:44 UTC


README

Build Status

这是一个专门为 Laravel 框架和用其构建的 RESTful API 设计的中间件。它会计算响应内容的哈希值并将其添加到 HTTP 响应的 ETag 标头中。然后它监听期望在响应中接收到 json 的请求的 If-MatchIf-None-Match 标头,以确定是否需要发送新的内容,或者只需发送 304 Not Modified 响应就足够了。

作者

Denis Mitrofanov

TheCollection.ru

安装

使用 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'
    ],
];