我需要从每个请求中获取某个自定义HTTP标头值,并将其放入WebSession中,以便以后在任何WebPage上都可以使用它。(我相信,Wicket的方法是让自定义类扩展具有适当访问器的WebSession。)
我的问题是, 我需要哪种过滤器(或其他机制)才能拦截标头并访问WebSession 来存储值?
我尝试使用普通的Java EE筛选器执行此操作,
CustomSession session = (CustomSession) AuthenticatedWebSession.get();
但是(也许不足为奇),结果是:
java.lang.IllegalStateException:
you can only locate or create sessions in the context of a request cycle
我是否应该扩展WicketFilter并在那里进行(我可以在那个时候访问会话?),还是需要更复杂的东西?
当然,如果我做错了什么,请指出。我是Wicket的新手。
我猜您需要实现一个自定义WebRequestCycle:
public class CustomRequestCycle extends WebRequestCycle{
public CustomRequestCycle(WebApplication application,
WebRequest request,
Response response){
super(application, request, response);
String headerValue = request.getHttpServletRequest().getHeader("foo");
((MyCustomSession)Session.get()).setFoo(headerValue);
}
}
在您的WebApplication类中,您可以像这样注册自定义RequestCycle:
public class MyApp extends WebApplication{
@Override
public RequestCycle newRequestCycle(Request request, Response response){
return new CustomRequestCycle(this, (WebRequest) request, response);
}
}
参考:
我正试图发送一个授权令牌,但我的服务器不知何故没有接收它。 //service.ts } //endpoint //标记过滤器
如何为截击请求设置自定义标题?目前,有一种方法可以为POST请求设置正文内容。我有一个简单的GET请求,但我需要同时传递自定义头。我不知道JsonRequest类如何支持它。有可能吗?
这是我的第一个问题。 我的Web应用程序正在使用Spring集成来获取第三方API响应。 响应具有以“X-”开头的自定义标头值。X值是两个。(X-AccessToken-Quota-Allotted,X-AccessToken-Quota-Flow) 因此,我在config xml的header-mapper中添加了inboundHeaderNames,如下所示。 以下是回应。我可以看到X-Acc
我正在尝试从Laravel中的请求访问自定义标头。标题名为“从访问_”。列出Laravel中的所有标题,只会给出“标准标题”,但我设置的标题不在列表中。在“浏览器网络”选项卡中,我可以看到标头已发送。所以我想知道如何从Laravel内部访问它。 我使用Angular2使用默认的超文本传输协议服务发出请求。
我正在使用。 下面是获取响应Header的代码部分。 它只给出了默认的标题详细信息。我无法获取在响应中发送的自定义标题。我能够在邮递员工具中看到自定义标题。
我有一个代码凌空代码 我该如何设置一个名为Authorization的标题??