Remove Java code dependency on CoWebFilter
To avoid compilation errors in Eclipse which does not support Java code dependency on Kotlin code. See gh-27522
This commit is contained in:
@@ -49,7 +49,6 @@ import org.springframework.validation.method.MethodValidator;
|
||||
import org.springframework.web.method.HandlerMethod;
|
||||
import org.springframework.web.reactive.BindingContext;
|
||||
import org.springframework.web.reactive.HandlerResult;
|
||||
import org.springframework.web.server.CoWebFilter;
|
||||
import org.springframework.web.server.ServerWebExchange;
|
||||
|
||||
/**
|
||||
@@ -292,13 +291,16 @@ public class InvocableHandlerMethod extends HandlerMethod {
|
||||
*/
|
||||
private static class KotlinDelegate {
|
||||
|
||||
// Copy of CoWebFilter.COROUTINE_CONTEXT_ATTRIBUTE value to avoid compilation errors in Eclipse
|
||||
private static final String COROUTINE_CONTEXT_ATTRIBUTE = "org.springframework.web.server.CoWebFilter.context";
|
||||
|
||||
@Nullable
|
||||
@SuppressWarnings("deprecation")
|
||||
public static Object invokeFunction(Method method, Object target, Object[] args, boolean isSuspendingFunction,
|
||||
ServerWebExchange exchange) {
|
||||
|
||||
if (isSuspendingFunction) {
|
||||
Object coroutineContext = exchange.getAttribute(CoWebFilter.COROUTINE_CONTEXT_ATTRIBUTE);
|
||||
Object coroutineContext = exchange.getAttribute(COROUTINE_CONTEXT_ATTRIBUTE);
|
||||
if (coroutineContext == null) {
|
||||
return CoroutinesUtils.invokeSuspendingFunction(method, target, args);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user