如何在氚中访问传入请求的标头?

时间:2013-07-10 04:59:53

标签: ajax http-headers moovweb

我希望能够根据传入的请求标题为我的tritium项目添加一些逻辑。是否可以访问头信息,然后使用()逻辑执行match()?

我的计划是获取现有的URL(可以通过普通的GET请求访问)并为其提供第二种功能模式,以便将其转换为AJAX API。当JavaScript发出API请求时,我可以设置一个自定义标头标志,以便平台知道以不同方式解释请求。

2 个答案:

答案 0 :(得分:2)

您应该能够使用全局变量语法访问传入HTTP请求中的标头。例如,要访问该站点的主机名:

$host
# => yourwebsite.com

我相信大多数标准头文件都可以在Tritium中作为全局变量访问。但是,我不确定所有标头是否可以作为全局变量访问。

在项目文件夹中,在开发计算机上,应该有一个包含HTTP请求/响应包的tmp文件夹。每个捆绑包都应加盖请求的日期和时间。我想如果你偷看其中一个文件夹,你应该看到一堆文件:

  • incoming_request
  • incoming_response
  • outgoing_request
  • outgoing_response

可能是第五个档案。我不记得在当前版本的平台中是否仍然如此,但是您可能会找到第五个文件,其中包含Tritium服务器为存储HTTP请求标头值而创建的全局变量。因此,您可以查看该文件(如果存在),并找出您的HTTP标头正在使用的变量名称。

希望有所帮助!

答案 1 :(得分:1)

我迟到了,但我想我会帮助那些需要帮助的人。

您需要在脚本目录中创建两个文件,一个名为

request_main.ts

response_main.ts

然后您可以使用诸如parse_headers函数之类的东西,它会遍历请求/响应标头,具体取决于您放入代码的文件。

parse_headers() {  # iterate over all the incoming/outgoing headers
  log(name())      # log the name of the current cookie in the iteration
  log(value())     # log the value of the current cookie in the iteration
}

parse_headers(/Set-Cookie/) {  # iterate over the Set-Cookie headers only.
  log(this())
}

这将记录您的所有标题名称,以进行修改,然后您可以使用" setter"函数,你可以在这里阅读:

http://developer.moovweb.com/docs/local/configuration/headers

祝你好运。