5

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

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

4

2 回答 2

2

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

$host
# => yourwebsite.com

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

在您的项目文件夹中,在您的开发机器上,应该有一个tmp包含 HTTP 请求/响应包的文件夹。每个捆绑包都应带有请求的日期和时间的时间戳。我认为,如果您查看其中一个文件夹,您应该会看到一堆文件:

  • 传入请求
  • 传入响应
  • 传出请求
  • 传出响应

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

希望有帮助!

于 2013-07-10T16:21:30.183 回答
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

祝你好运。

于 2015-04-21T17:54:31.003 回答