上下文共享

协议拦截器可以通过HTTP执行上下文共享信息,例如处理状态,来实现协作。HTTP上下文是一种将属性名对应到属性值得一种结构。HTTP上下文的内部实现通常是HashMap。使用HTTP上下文的主要目的是便于在多种逻辑上相关的组件之间共享信息。HTTP上下文可以用来储存一个或多个连续报文的处理状态。如果同一上下文在多个连续报文中被重复使用,多个逻辑上相关的报文可以参与同一逻辑会话。

HttpProcessor httpproc = HttpProcessorBuilder.create().add(new HttpRequestInterceptor() {
            public void process(
                    HttpRequest request,
                    HttpContext context) throws HttpException, IOException {
                String id = (String) context.getAttribute("session-id");
                if (id != null) {
                    request.addHeader("Session-ID", id);
                }
            }
        })
        .build();

HttpCoreContext context = HttpCoreContext.create();
HttpRequest request = new BasicHttpRequest("GET", "/");
httpproc.process(request, context);

results matching ""

    No results matching ""