取势 明道 优术

正在浏览标签 psgi

总共找到 27 篇

作者为 扶 凯 发表

我们介绍了数个中间件组件,这些中的一部分是非常有效的所以我们要激活他为全局的.但其它的一些最好只是当我们确认的时候才激活,今天我们就要讲这个的解决方案. 根据条件来加载中间件 条件在中间件中是超级中间件,这些中间件需要和一些运行的条件一起,才会被启用.让我们看看一些例子: 你只想在 /public 中想激活 JSONP 中间件 你不想在你本地的 ip 中激活 Basic Auth 我认真的研究了 WSGI...

作者为 扶 凯 发表

最开始几个文章讲的使用 plackup 来服务当前目录的文件,现在我们学习了怎么样使用中间件和怎么使用 URLMap 来服务多个应用.这又是非常琐碎的功能之一, 你的应用开发所必须的:服务静态文件. 从指定的路径请取文件 很多的框架自己实现了这个功能,但使用了 PSGI 和 Plack 起,框架可以不需要实现此功能了.只需使用 Static 中间件. use Plack::Builder; my $app = sub { ... }; builder ...

作者为 扶 凯 发表

昨天我们看到一个非常简单有效的使用中间件组件的例子.这次我们加入一个基本的 HTTP 的功能 JSONP. JSONP (JSON-Padding) 是一个非官方的协议,它允许在服务器端使用 JSON 给来给客户端的 javascript callback 进行访问.这可以跨域通过基本 JSON 来包含访问的 HTML script tags 的内容 Middleware::JSONP 假定你的 Web 应用返回 JSON 的编码数据,Content-Type 是 application/json.然后 PS...

作者为 扶 凯 发表

目前有大量的 Plack 中间件的应用,在 Plack 应用的核心发布包也中包含有一些,另外还有 CPAN 上有一些非常不错的应用.我写这个 advent calendar 就是为了让更多人了解和喜欢这些中间件. 从今天起,我们就为大家介绍其中一些非常非常好的中间件,您可以用来快速实现你的应用程序. Basic authentication(基本的认证) 由于 Plack 中间件可以封装应用程序本身,可以很方便的进行应用前处理...

作者为 扶 凯 发表

我们要理解 Plack 本身并不是一个框架,它是一个工具,并提供一系列的工具包,其中包含 PSGI 协议的服务器的实现,以及像 plackup, Plack::Test  和中间件组件. 。有些时候,我们有一些需求,并不想在后端在写应用,而是只想写一个简单的 Request/Response 风格的API 来快速实现 Web 应用程序(比如接口之类).Plack::Request 可以提供给你面象对象的方法来操作有关 PSGI 的 hash 环境...

作者为 扶 凯 发表

这有一些方法来测试你的应用,象模拟一些请求之类的技术,不同的 Web 应用的开发框架,都有一些自己的方法来测试,但不同的框架要使用不同的方法. Plack::Test 给你统一的接口来测试任何 Web 的应用和框架.PSGI 兼容的 mock request 和 live HTTP server 的二种方法. 使用 Plack::Test 使用 Plack::Test 非常简单,它当然是兼容的 Perl 的标准测试协议 TAP 和 Test::More. use Plack::T...

作者为 扶 凯 发表

Hello World! 但其它的啦 看我们前几个章节的例子中,基本上都只是最简单的例子,象下面这个这么简单. my $app = sub { return [ 200, [], [ "Hello World" ] ]; }; 如果是更加复杂的例子啦,因为真实的环境一定更加复杂,象很多个应用在一台 web 服务器上,一起为用户服务,各自都有自己的 Web 应用框架,我们以前使用 Apache 就需要使用象 mod_alias 之类的法宝才能搞得定.PSG...

作者为 扶 凯 发表

上一个文章,我们讲了在 .psgi 的文件中,怎么激活 Plack 的中间件组件和怎么使用 wrap 的类方法.我们提到使用 wrap 来包应用后,如果多个组件的话,会变得相当的繁琐,也不直观,所以我们这讲了一个 DSL 的语法(Domain Specific Language)会让这个更加容易.那就是 Plack::Builder. Plack::Builder 的使用 在使用的 Plack:Builder 时是那么容易.只需使用关键字 builder 和 enable: my $app ...