All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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