在本例中,当我请求dumper $env时,我得到了所有环境哈希psgi的数据。
sub {
my $env = shift;
return [ 200, [], [ $env->{REMOTE_ADDR} ] ];
}或者更直接
sub {
return [ 200, [], [ shift->{REMOTE_ADDR} ] ];
}输出:
返回客户端的IP地址。
如何将自己的自定义环境变量设置为psgi哈希plack?
为什么我要这么做,我的案例与:Nginx变量类似于Apache中的SetEnv?有关
如果不可能这样做,可以创建子类并将该功能添加到psgi服务器?。
耽误您时间,实在对不起
发布于 2018-04-27 16:44:39
假设您想在应用程序服务器中设置变量,这看起来是某些plack中间件的完美案例。对于本例,我找到了Plack::中间件::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环境变量。
https://stackoverflow.com/questions/49941866
复制相似问题