如何在链接器插件中使用标识符设置HTTP状态代码

时间:2017-07-05 10:15:24

标签: linkerd

我使用linkerD在Java中设置授权插件。目前我使用标识符拦截请求&检查用户是否获得授权。 (使用:https://github.com/linkerd/linkerd-examples/tree/master/plugins/header-classifier为例)

如果用户未获得授权,则该请求不应该到达后端服务。我在这种情况下抛出一个运行时异常(如果有另一种方法阻止请求到达后端,请告诉我)。 Linkerd将响应发送为502 Bad Gateway。 Linkerd应该有一种机制,通过它我可以指定我想要发回的HTTP状态代码。

我尝试使用responseClassifier和标识符,但看起来在抛出异常时不会调用responseClassifier。

1 个答案:

答案 0 :(得分:0)

根据对this issue的评论,目前无法从标识符插件发回自定义响应代码:

  

这是使用标识符插件接口进行授权的限制。如果您愿意,可以返回UnidentifiedRequest异常,该异常将返回400 Bad Request。从长远来看,我们希望专门为授权添加一个新的插件接口,以便更好地控制错误响应。

但是,链接器计划在将来的版本中添加better support for authorization plugins