gpt4 book ai didi

perl - 将自定义环境变量设置为 psgi hash pack

转载 作者:行者123 更新时间:2023-12-05 01:18:10 24 4
gpt4 key购买 nike

当我向 dumper $env 发出请求时,我得到了环境哈希 psgi 的所有数据,在这个例子中

sub { 
my $env = shift;
return [ 200, [], [ $env->{REMOTE_ADDR} ] ];
}

或更直接
sub { 
return [ 200, [], [ shift->{REMOTE_ADDR} ] ];
}

输出:

返回客户端的IP地址

我如何设置自己的 自定义环境变量到 psgi hash pack ?

为什么我想这样做,我的情况与:
Nginx variables similar to SetEnv in Apache?

如果无法做到这一点, 我可以创建子类并将该功能添加到 psgi web 服务器吗?

谢谢你的时间

最佳答案

假设您想在应用程序服务器中设置变量,这对于某些 plack 中间件来说似乎是一个完美的例子。对于这种情况,我找到了 Plack::Middleware::ReviseEnv ,可在您的 app.psgi 中使用:

# app.psgi
use Plack::Builder;

my $app = sub {
return [ 200, [], [ shift->{var} ] ];
};

builder {
enable "ReviseEnv", revisors => { 'var' => 'custom',
'var2' => 'other' };
$app;
};

该文档还列出了用于设置简单文本之外的值的其他选项,例如包括其他 $env数据或 %ENV环境变量。

关于perl - 将自定义环境变量设置为 psgi hash pack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49941866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com