feat: 替换过期API

This commit is contained in:
zhouhao
2023-06-28 15:50:23 +08:00
parent f507867d5b
commit c5fd2faad7
9 changed files with 15 additions and 13 deletions

View File

@@ -21,7 +21,7 @@ public class ReactiveTokenAuthenticationSupplier implements ReactiveAuthenticati
@Override
public Mono<Authentication> get() {
return Mono
.deferWithContext(context -> context
.deferContextual(context -> context
.<ParsedToken>getOrEmpty(ParsedToken.class)
.map(t -> tokenManager.getByToken(t.getToken()))
.orElse(Mono.empty()));

View File

@@ -69,7 +69,7 @@ public class UserTokenReactiveAuthenticationSupplier implements ReactiveAuthenti
@Override
public Mono<Authentication> get() {
return Mono
.deferWithContext(context -> context
.deferContextual(context -> context
.<ParsedToken>getOrEmpty(ParsedToken.class)
.map(t -> userTokenManager
.getByToken(t.getToken())

View File

@@ -48,7 +48,7 @@ public class ReactiveUserTokenController {
@Operation(summary = "重置当前用户的令牌")
public Mono<Boolean> resetToken() {
return Mono
.<ParsedToken>deferWithContext(ctx -> Mono.justOrEmpty(ctx.getOrEmpty(ParsedToken.class)))
.<ParsedToken>deferContextual(ctx -> Mono.justOrEmpty(ctx.getOrEmpty(ParsedToken.class)))
.flatMap(token -> userTokenManager.signOutByToken(token.getToken()))
.thenReturn(true);
}

View File

@@ -48,7 +48,7 @@ public class ReactiveOAuth2AccessTokenParser implements ReactiveUserTokenParser,
@Override
public Mono<Authentication> get() {
return Mono
.deferWithContext(context -> context
.deferContextual(context -> context
.<ParsedToken>getOrEmpty(ParsedToken.class)
.filter(token -> "oauth2".equals(token.getType()))
.map(t -> accessTokenManager.getAuthenticationByToken(t.getToken()))

View File

@@ -4,6 +4,7 @@ import org.hswebframework.web.i18n.LocaleUtils;
import org.springframework.util.StringUtils;
import reactor.core.publisher.Mono;
import reactor.util.context.Context;
import reactor.util.context.ContextView;
import javax.annotation.Nullable;
import java.util.Locale;
@@ -71,8 +72,8 @@ public class TraceSourceException extends RuntimeException {
* 深度溯源上下文,用来标识是否是深度溯源的异常.开启深度追踪后,会创建新的{@link TraceSourceException}对象.
*
* @return 上下文
* @see reactor.core.publisher.Flux#subscriberContext(Context)
* @see Mono#subscriberContext(Context)
* @see reactor.core.publisher.Flux#contextWrite(ContextView)
* @see Mono#contextWrite(ContextView)
*/
public static Context deepTraceContext() {
return deepTraceContext;
@@ -115,7 +116,7 @@ public class TraceSourceException extends RuntimeException {
return err -> {
if (err instanceof TraceSourceException) {
return Mono
.deferWithContext(ctx -> {
.deferContextual(ctx -> {
if (ctx.hasKey(deepTraceKey)) {
return Mono.error(new TraceSourceException(err).withSource(operation,source));
} else {

View File

@@ -95,7 +95,7 @@ public final class LocaleUtils {
* <p>
* <pre>
* monoOrFlux
* .subscriberContext(LocaleUtils.useLocale(locale))
* .contextWrite(LocaleUtils.useLocale(locale))
* </pre>
*
* @param locale 区域
@@ -391,7 +391,7 @@ public final class LocaleUtils {
if (signal.getType() != type) {
return;
}
Locale locale = signal.getContext().getOrDefault(Locale.class, DEFAULT_LOCALE);
Locale locale = signal.getContextView().getOrDefault(Locale.class, DEFAULT_LOCALE);
doWith(locale, l -> operation.accept(signal, l));
};

View File

@@ -95,7 +95,7 @@ public class ReactiveLogger {
consumer.accept(maybeContextMap.get());
} else {
consumer.accept(Collections.emptyMap());
log.warn("logger context is empty,please call publisher.subscriberContext(ReactiveLogger.mdc()) first!");
log.warn("logger context is empty,please call publisher.contextWrite(ReactiveLogger.mdc()) first!");
}
return Mono.empty();
});

View File

@@ -11,6 +11,7 @@ import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.StringJoiner;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;
/**
@@ -160,14 +161,14 @@ public class AccessLoggerInfo {
public void putContext(Map<String,String> context) {
if (this.context == null) {
this.context = new HashMap<>();
this.context = new ConcurrentHashMap<>();
}
this.context.putAll(context);
}
public void putContext(String key, Object value) {
if (this.context == null) {
this.context = new HashMap<>();
this.context = new ConcurrentHashMap<>();
}
this.context.put(key, String.valueOf(value));
}

View File

@@ -58,7 +58,7 @@ public class DefaultDependencyUpgrader implements DependencyUpgrader {
public void upgrade(CallBack callBack) {
shouldUpdateVersionList.forEach(context -> {
if (this.context != null) {
context.putAll(context);
context.putAll(this.context);
}
if (logger.isInfoEnabled()) {
logger.info("upgrade [{}/{}] to version:{} {}", dependency.getGroupId(), dependency.getArtifactId(), context.get("version"), dependency.getWebsite());