芝加哥老板的 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 可以获取请求自定义标头吗?的主要内容,如果未能解决你的问题,请参考以下文章