WEB开发网
开发学院服务器云计算 Perl 和 Amazon 云,第 4 部分:深入探究完整 mod... 阅读

Perl 和 Amazon 云,第 4 部分:深入探究完整 mod_perl 站点的代码库

 2010-02-04 00:00:00 来源:WEB开发网   
核心提示: 清单 6. 最大宽度的样例代码清单{"expiration":"3000-01-01T00:00:00Z","conditions":[{"bucket":"images.share.lifelogs.co

清单 6. 最大宽度的样例代码清单

{"expiration": "3000-01-01T00:00:00Z", 
 "conditions": [ 
  {"bucket": "images.share.lifelogs.com"}, 
  {"acl": "public-read"}, 
  ["starts-with", "$key", ""], 
  ["starts-with", "$Content-Type", ""], 
  ["starts-with", "$success_action_redirect", 
   "http://share.lifelogs.com/s3uploaded?user=[% username %]"], 
  ["content-length-range", 0, 1048576] 
 ] 
} 

这里的主要区别在于没有对成功的 URL 使用用户名,而是将用户名作为参数,因为它可以使照片参数处理程序变得更加简单。稍后将详细讨论。

现在您对策略进行了签名并准备发送 HTTP 头部(Apache 为我们完成!)。接下来,使用一些参数生成必要的输出,如下所示:

request,Apache 请求

username,随机用户名

policy,S3 上传策略(可以为空)

signature,S3 策略签名(可以为空)

env。进程环境(不要应用于生产中!)

params,参数,例如来自 POST 或 GET 请求

fimages,返回所有照片的函数

fcomments,根据照片 ID 返回所有评论的函数

这就是通用处理程序的内容。所有其他神奇的地方则发生在评论和照片参数处理程序以及参数本身中。让我们继续研究下去。

照片和评论处理程序将针对每个请求进行调用。如果它们发现参数是正确的,那么就将执行下面的操作:添加、修改或删除照片或评论。模板(我们将在 SharePerlHandler.pm 之后探讨)在 POST 表单中包含这些参数。

但是不要着急,还有一些有趣的内容 — 伪劣的代码、糟糕的架构,您希望发现一个值得发布到 Twitter 上的 bug(“haha @tzlatanov sux teh worst 将检查在无效上下文中使用的 map,而 omg b0rken 模板 obv 并不是真正的 h4ck3r mod_perl issolastmllnm”)。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Perl Amazon 部分

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接