think-swoole检测是否https访问
背景
因为项目测试需要https,但是thinkphp 6开启thinkswoole后检测不到https访问。
百度没有找到解决办法,只能自己造轮子了。
解决
修改think-swoole
文件src/concerns/InteractsWithHttp.php
// 找到方法
protected function prepareRequest(Request $req)
{
$header = $req->header ?: [];
$server = $req->server ?: [];
// 以下为添加的代码
if (!isset($server['HTTPS'])) {
$server['HTTPS'] = Config::get('swoole.server.socket_type', SWOOLE_SOCK_TCP) & SWOOLE_SSL == SWOOLE_SSL ? 'on' : '';
}
// 结束
}
think-swoole检测是否https访问
http://blog.icy8.cn/posts/50519/