oh86/laravel-http-tools 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

oh86/laravel-http-tools

最新稳定版本:v1.1

Composer 安装命令:

composer require oh86/laravel-http-tools

包简介

some http tools for laravel framework

README 文档

README

用于laravel框架的http开发的工具

1.错误码配置

// 编辑config/errorcode.php
return [
    'messages' => [
        0 => 'ok',
        1 => 'error',
        // ...
    ],
];

2.json响应

use Illuminate\Http\Request;
use Oh86\Http\Response\ErrorResponse;
use Oh86\Http\Response\OkResponse;

class XXXCtroller
{
    public function ok(Request $request)
    {
        return new OkResponse();
    }

    public function error(Request $request)
    {
        return new ErrorResponse(1, null, [
            'foo' => 'bar',
        ]);
    }
}

3.异常

3.1 错误码异常
use Oh86\Http\Exceptions\ErrorCodeException;

throw new throw new ErrorCodeException(401, null, null, 401); // 响应错误码为401的json响应。
3.2 http请求错误异常
use Illuminate\Support\Facades\Http;
use Oh86\Http\Exceptions\HttpRequestException;

$url = 'https://api.test/test';
$datas = ['foo' => 'bar'];
$headers = ['X-Test' => 'test'];
$r = Http::withHeaders($headers)->get($url, $datas);

if ($response->json('code') !== 0) {
    // 将响应json响应给客户端
    throw new HttpRequestException(
        $r->status(),
        $r->body(),
        $url,
        $datas,
        $headers,
    );
}

4.中间件

4.1 互斥锁中间件

use Illuminate\Support\Facades\Route;
use Oh86\Http\Middleware\MutexRequestByArg;

Route::get('sms/code', [SmsController::class, 'sendSmsCode'])
    ->middleware(MutexRequestByArg::class.':phone');

5.基于token的会话状态

use Oh86\Http\TokenSessions\AbstractTokenSession;

class TestToken extends AbstractTokenSession
{
    protected $storeKey = 'TestToken';
    protected $ttl = 300;
}


// 首次生成token
$t = new TestToken();
$t->put('foo', 'bar');
// $t->save(); // auto save in destructor
$token = $t->getToken();


// 其他地方使用token
$t = TestToken::load($token);
$val = $t->get('foo');
$t->destroy();  // 使用完手动销毁

统计信息

  • 总下载量: 153
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 4
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-12-31