芝加哥老板的 simple_bridge 可以获取请求自定义标头吗?

Posted

技术标签:

【中文标题】芝加哥老板的 simple_bridge 可以获取请求自定义标头吗?【英文标题】:Can simple_bridge in chicago boss be able to get request custom header? 【发布时间】:2016-05-03 04:25:17 【问题描述】:

我尝试将自定义标头“api_key”添加到客户端请求中,但 simple bridge 似乎没有选择标头。

Chicago boss 使用简单的桥接器有一个有效标题列表,但是我该如何使用自定义标题呢?不行吗?

【问题讨论】:

【参考方案1】:

您可以在控制器或过滤器中检测标题。

控制器中的第一个方法

从控制器中的请求中读取标头。 假设我们需要根据客户端可以接受的内容来回答请求,那么您可以这样做。

-module(foo_customer_controller, [Req]).
-compile(export_all).

read('GET', [Id]) ->
  Accept = Req:header("Accept"),
  case boss_db:find(Id) of
    Result when Accept == "application/json" -> json, Result;
    Result when Accept == "text/html" -> ok, Result;
  end.

使用过滤器的第二种方法:

在 src/lib 下创建一个文件 遵循模式 ProjectName_FilterName_filter.erl

-module(foo_general_filter).
-export([before_filter/2]).

before_filter(FilterConfig, RequestContext) ->
  Request = proplists:get_value(request, RequestContext),
  ApiKey = Request:header("api-key"),
  %% Check if ApiKey is valid 
  ok, RequestContext

那么你必须在你的 boss.config 中安装过滤器 在boss配置里面

controller_filter_modules, [foo_general_filter]

有关如何使用过滤器的更多信息,请参阅here

【讨论】:

谢谢,但我的问题是我无法从boss端的传入请求中检测到自定义标头。 @Hao 对不起,我想念你的问题。让我编辑我的答案。

以上是关于芝加哥老板的 simple_bridge 可以获取请求自定义标头吗?的主要内容,如果未能解决你的问题,请参考以下文章

使用 pytz 获取时区的国家代码?

量化交易如何获取实时行情数据?

如何在更新数据库时更新数据集

获取支持 ARGeoTrackingConfiguration 的城市列表

ABA和扣篮大赛是啥意思?是啥时候起源的?

oracle练习题--来自芝加哥的有钱人