janfish / swooxy
基于 swoole 的 HTTP 代理服务器
dev-master
2019-11-18 13:38 UTC
Requires
- php: >=7.1.0
- ext-swoole: 4.4.*
This package is not auto-updated.
Last update: 2024-10-02 05:11:14 UTC
README
基于 swoole 的 HTTP 代理服务器
特性
- HTTP 代理
- HTTPS 代理
- 请求过滤器
安装
composer require janfish/swooxy -vvv
如何使用
- 标准模式
$proxy = new \Swooxy\Server(); $proxy->listen();
- 使用协程客户端
$proxy = new \Swooxy\Coroutine\Server(); $proxy->listen();
- 定义主机和端口
$proxy = new \Swooxy\Server([ 'daemonize' => false, ]); $proxy->listen('0.0.0.0', 10086);
- 过滤模式
$proxy = new \Swooxy\Server([ 'daemonize' => false, ]); $proxy->setFilter([ Rule::class, Log::class, ]); $proxy->listen('0.0.0.0', 10086);
如何添加请求过滤器
use Swooxy\Filter\Base; use Swooxy\Protocol\Http; /** * Author:Robert * * Class Filter */ class Rule extends Base { /** * Author:Robert * * @param Http $http * @return bool */ public function run(Http $http): bool { print_r([ 'method' => $http->getMethod(), 'host' => $http->getHost(), 'port' => $http->getPort(), 'url' => $http->getUrl(), 'header' => $http->getHeaders(), 'body' => $http->getBody(), 'isIpv6' => $http->isIpv6(), ]); return true; } }