protected ServerWebExchange createExchange(ServerHttpRequest request, ServerHttpResponse response) { return new DefaultServerWebExchange(request, response, this.sessionManager, getCodecConfigurer(), getLocaleContextResolver(), this.applicationContext); }
@Override public String getLogPrefix() { Object value = getAttribute(LOG_ID_ATTRIBUTE); if (this.logId != value) { this.logId = value; this.logPrefix = value != null ? "[" + value + "] " : ""; } return this.logPrefix; }
/** * Static factory method to create a new builder instance. * @param webHandler the target handler for the request * @return the prepared builder */ public static WebHttpHandlerBuilder webHandler(WebHandler webHandler) { return new WebHttpHandlerBuilder(webHandler, null); }
@Test // SPR-16972 public void cloneWithApplicationContext() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); context.register(NoFilterConfig.class); context.refresh(); WebHttpHandlerBuilder builder = WebHttpHandlerBuilder.applicationContext(context); assertSame(context, ((HttpWebHandlerAdapter) builder.build()).getApplicationContext()); assertSame(context, ((HttpWebHandlerAdapter) builder.clone().build()).getApplicationContext()); }
@Override protected HttpHandler createHttpHandler() { this.restTemplate = initRestTemplate(); this.applicationContext = initApplicationContext(); return WebHttpHandlerBuilder.applicationContext(this.applicationContext).build(); }
@Override protected WebHttpHandlerBuilder initHttpHandlerBuilder() { return WebHttpHandlerBuilder.applicationContext(this.applicationContext); }
@Override public void beforeServerCreated(WebHttpHandlerBuilder builder) { builder.filters(filters -> filters.add(0, this.filter)); }
@Override public MockServerHttpResponse getResponse() { return (MockServerHttpResponse) super.getResponse(); }
@Override protected WebHttpHandlerBuilder initHttpHandlerBuilder() { return WebHttpHandlerBuilder.webHandler(this.webHandler); }
@Test public void removeOnly() { this.requestMutator.setRemoveOnly(true); HttpHeaders headers = new HttpHeaders(); headers.add("Forwarded", "for=192.0.2.60;proto=http;by=203.0.113.43"); headers.add("X-Forwarded-Host", "example.com"); headers.add("X-Forwarded-Port", "8080"); headers.add("X-Forwarded-Proto", "http"); headers.add("X-Forwarded-Prefix", "prefix"); headers.add("X-Forwarded-Ssl", "on"); ServerHttpRequest request = this.requestMutator.apply(getRequest(headers)); assertForwardedHeadersRemoved(request); }
@Override protected HttpHandler createHttpHandler() { return new HttpWebHandlerAdapter(new CheckRequestHandler()); }
@Override public boolean checkNotModified(String etag) { return checkNotModified(etag, Instant.MIN); }
/** * Manipulate the "live" list of currently configured filters. * @param consumer the consumer to use */ public WebHttpHandlerBuilder filters(Consumer<List<WebFilter>> consumer) { consumer.accept(this.filters); updateFilters(); return this; }
/** * Register a {@link ServletContextListener} that closes the given * application context when the servlet context is destroyed. * @param servletContext the servlet context to listen to * @param applicationContext the application context that is to be * closed when {@code servletContext} is destroyed */ protected void registerCloseListener(ServletContext servletContext, ApplicationContext applicationContext) { if (applicationContext instanceof ConfigurableApplicationContext) { ConfigurableApplicationContext cac = (ConfigurableApplicationContext) applicationContext; ServletContextDestroyedListener listener = new ServletContextDestroyedListener(cac); servletContext.addListener(listener); } }
@Bean public ForwardedHeaderTransformer forwardedHeaderTransformer() { return new ForwardedHeaderTransformer(); } }
@Override protected WebHttpHandlerBuilder initHttpHandlerBuilder() { return WebHttpHandlerBuilder.applicationContext(initApplicationContext()); }
@Override public MockServerHttpResponse getResponse() { return (MockServerHttpResponse) super.getResponse(); }
/** * Clone this {@link WebHttpHandlerBuilder}. * @return the cloned builder instance */ @Override public WebHttpHandlerBuilder clone() { return new WebHttpHandlerBuilder(this); }
@Override public boolean checkNotModified(Instant lastModified) { return checkNotModified(null, lastModified); }
private HttpHeaders getResponseHeaders() { return getResponse().getHeaders(); }