gpt4 book ai didi

Perl PSGI 不会自动提供静态文件

转载 作者:行者123 更新时间:2023-12-05 02:23:11 25 4
gpt4 key购买 nike

我正在练习 Perl 和 PSGI/Plack。只是尝试简单的 PSGI 示例应用程序:

应用程序.psgi

#!/usr/bin/perl

my $counter = 0;

my $app = sub {
my $env = shift;
my $path = $env->{PATH_INFO} || $env->{REQUEST_URI};
$counter++;
my $content = "Hellow world.\nCounter=$counter\nPath: $path\n";
return [ 200, [ 'Content-type', 'text/plain' ], [ $content ] ]
};

然后运行它:

plackup app.psgi

如果我将浏览器指向任何路径,如/news/world:

http://localhost:5000/new/world

没关系,我将 $path 变量设置为/news/world,我将处理 cgi 响应。

如果我指向像 logo.png 这样的静态文件的问题

http://localhost:5000/logo.png

我还将 $path 变量设置为/logo.png

问题是,为什么 plackup 服务器不自动提供静态图像文件 logo.png。

我必须手动执行此操作吗?如果是这样,这是否意味着在每次请求时我都必须先 ping 文件系统检查是否 -f $path。

这意味着我正在构建一个完整的服务器处理程序,而不仅仅是我的脚本处理程序。我不明白的是什么。

最佳答案

使用 Plack::Middleware::Static模块。它允许您的应用从根目录提供静态文件。

关于Perl PSGI 不会自动提供静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25156298/

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