drewlabs / laravel-http
提供对laravel框架HTTP组件的桥接
v0.3.0
2024-03-21 19:18 UTC
Requires
- php: ^7.2|^8.0
- drewlabs/contracts: ^0.3
- drewlabs/core-helpers: ^0.3
- drewlabs/cors: ^0.2.0
- drewlabs/http-contracts: ^0.2
- drewlabs/overloadable: ^0.1.10|^0.3
- illuminate/container: ^9.0|^10.0|^11.0
- illuminate/http: ^9.0|^10.0|^11.0
- psr/http-message: ^1.0|^2.0
Requires (Dev)
- drewlabs/psr7: ^0.1.3
- drewlabs/validation: ^0.3
- nyholm/psr7: ^1.5
- phpunit/phpunit: ^9.5
Suggests
- nyholm/psr7: Required to create psr7 requests using drewlabs_create_psr7_request() global function
README
该drewlabs/http
包提供了统一的HTTP响应API的实用类和函数,以及用于处理CORS的中间件类。
服务提供者
默认情况下,在Composer完成安装包后运行Laravel应用程序时,服务提供者会自动注册。
- 对于Lumen应用程序,我们必须在bootstrap/app.php中手动注册提供者。
// bootstrap/app.php // ... // Register the HttpService provider $app->register(Drewlabs\Laravel\Http\HttpServiceProvider::class); // ...
CORS中间件
要在应用程序中使用CORS中间件,请根据所使用的框架将以下代码添加到您的kernel中
- Laravel
// app/Http/Kernel.php // ... protected $middleware = [ // ... \Drewlabs\Laravel\Http\Middleware\Cors::class, ];
- Lumen
// bootstrap/app.php $app->middleware([ // Other globally registered middlewares... \Drewlabs\Laravel\Http\Middleware\Cors::class, ]); // ...
注意为了允许任何host
、method
或headers
,请使用config数组匹配键中的*
。
EmptyStringToNull中间件
这是一个中间件,将所有空字符串查询参数和空请求体条目转换为null。
- Laravel
注意:Laravel已经为这种情况提供了实现。但如果你仍然想使用当前包的中间件,请按照以下方式进行。
// app/Http/Kernel.php // ... protected $middleware = [ // ... \Drewlabs\Laravel\Http\Middleware\EmptyStringToNull::class, ];
- Lumen
// bootstrap/app.php $app->middleware([ // Other globally registered middlewares... \Drewlabs\Laravel\Http\Middleware\EmptyStringToNull::class, ]); // ...
Http包配置
此配置文件包含应用程序Http请求处理程序(如auth、policy中间件)的中间件别名键定义。
- 发布配置文件
php artisan vendor:publish --tag="drewlabs-http"