
org.zodiac.ureport.console.reactive.RequestHolder Maven / Gradle / Ivy
package org.zodiac.ureport.console.reactive;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.http.server.reactive.ServerHttpResponse;
import org.springframework.web.server.ServerWebExchange;
public class RequestHolder {
private static final ThreadLocal exchangeThreadLocal = new ThreadLocal();
private static final ThreadLocal requestThreadLocal = new ThreadLocal();
private static final ThreadLocal responseThreadLocal = new ThreadLocal();
public static void setExchange(ServerWebExchange exchange) {
if (null == exchange)
return;
exchangeThreadLocal.set(exchange);
ServerHttpRequest request = exchange.getRequest();
requestThreadLocal.set(request);
ServerHttpResponse response = exchange.getResponse();
responseThreadLocal.set(response);
}
public static ServerWebExchange getExchange() {
return exchangeThreadLocal.get();
}
public static ServerHttpRequest getRequest() {
return requestThreadLocal.get();
}
public static void clean() {
exchangeThreadLocal.remove();
requestThreadLocal.remove();
responseThreadLocal.remove();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy