|
|
@@ -2,8 +2,10 @@ package com.webflux.launchadmin.filter;
|
|
|
|
|
|
import com.plumelog.core.TraceId;
|
|
|
import lombok.SneakyThrows;
|
|
|
+import org.jetbrains.annotations.NotNull;
|
|
|
import org.springframework.http.server.reactive.ServerHttpRequest;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
+import org.springframework.util.MultiValueMap;
|
|
|
import org.springframework.web.server.ServerWebExchange;
|
|
|
import org.springframework.web.server.WebFilter;
|
|
|
import org.springframework.web.server.WebFilterChain;
|
|
|
@@ -15,9 +17,10 @@ import reactor.core.publisher.Mono;
|
|
|
*/
|
|
|
@Component
|
|
|
public class TraceIdFilter implements WebFilter {
|
|
|
+ @NotNull
|
|
|
@SneakyThrows
|
|
|
@Override
|
|
|
- public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
|
|
|
+ public Mono<Void> filter(@NotNull ServerWebExchange exchange, @NotNull WebFilterChain chain) {
|
|
|
try {
|
|
|
ServerHttpRequest request = exchange.getRequest();
|
|
|
String traceId = request.getQueryParams().getFirst("traceId");
|
|
|
@@ -26,8 +29,9 @@ public class TraceIdFilter implements WebFilter {
|
|
|
} else {
|
|
|
TraceId.logTraceID.set(traceId);
|
|
|
}
|
|
|
- } finally {
|
|
|
- return chain.filter(exchange);
|
|
|
+ } catch (Exception e) {
|
|
|
+ TraceId.set();
|
|
|
}
|
|
|
+ return chain.filter(exchange);
|
|
|
}
|
|
|
}
|