heypongo/laravel-deprecation-middleware
最新稳定版本:1.0.0
Composer 安装命令:
composer require heypongo/laravel-deprecation-middleware
包简介
A Laravel middleware to signal HTTP route deprecation (Deprecation, Sunset, Link headers)
README 文档
README
A Laravel middleware to signal HTTP route deprecation using standardized HTTP headers (Deprecation RFC 8594, Sunset RFC 8594, Link RFC 8288).
Features
- Adds
Deprecationheader to deprecated routes - Optionally adds
Linkheader with documentation URL - Optionally adds
Sunsetheader for planned removal - Follows HTTP standards for deprecation signaling
Requirements
- PHP 8.1 or higher
- Laravel 10 or 11
Installation
composer require heypongo/laravel-deprecation-middleware
The service provider is auto-discovered by Laravel. No manual registration is required.
Usage
Apply the middleware to your routes in routes/web.php or routes/api.php:
Route::get('/old-endpoint', function () { // ... })->middleware('deprecated');
With Parameters
You can specify deprecation date, documentation URL, and sunset date:
// Only deprecation date Route::get('/old', fn() => ...)->middleware('deprecated:2024-06-01T00:00:00Z'); // Deprecation date and documentation URL Route::get('/old', fn() => ...)->middleware('deprecated:2024-06-01T00:00:00Z,https://docs.example.com/deprecation'); // Deprecation date, documentation URL, and sunset date Route::get('/old', fn() => ...)->middleware('deprecated:2024-06-01T00:00:00Z,https://docs.example.com/deprecation,2024-12-01T00:00:00Z'); // Only documentation URL and sunset date Route::get('/old', fn() => ...)->middleware('deprecated,,https://docs.example.com/deprecation,2024-12-01T00:00:00Z');
Parameter Order
- Deprecation date (HTTP-date or timestamp, optional)
- Documentation URL (optional)
- Sunset date (HTTP-date, optional)
Example Response Headers
Deprecation: Wed, 01 Jun 2024 00:00:00 GMT
Link: <https://docs.example.com/deprecation>; rel="deprecation"; type="text/html"
Sunset: Sun, 01 Dec 2024 00:00:00 GMT
Logging
- If the sunset date is invalid or before the deprecation date, a warning is logged using Laravel's logger.
Testing
You are encouraged to add tests using PHPUnit and Laravel's testing tools.
Running Tests
Install dev dependencies:
composer install
Run the tests:
vendor/bin/phpunit
License
MIT License. See LICENCE.
统计信息
- 总下载量: 2
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 7
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-07-11