io.quarkus.resteasy.reactive.server.runtime.websocket.VertxWebSocketRestHandler Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of quarkus-rest Show documentation
Show all versions of quarkus-rest Show documentation
A Jakarta REST implementation utilizing build time processing and Vert.x. This extension is not compatible with the quarkus-resteasy extension, or any of the extensions that depend on it.
The newest version!
package io.quarkus.resteasy.reactive.server.runtime.websocket;
import java.util.Collections;
import java.util.List;
import org.jboss.resteasy.reactive.common.model.ResourceClass;
import org.jboss.resteasy.reactive.server.core.ResteasyReactiveRequestContext;
import org.jboss.resteasy.reactive.server.model.HandlerChainCustomizer;
import org.jboss.resteasy.reactive.server.model.ServerResourceMethod;
import org.jboss.resteasy.reactive.server.spi.ServerRestHandler;
public class VertxWebSocketRestHandler implements HandlerChainCustomizer {
private static final ServerRestHandler[] AWOL = new ServerRestHandler[] {
new ServerRestHandler() {
@Override
public void handle(ResteasyReactiveRequestContext requestContext)
throws Exception {
throw new IllegalStateException("FAILURE: should never be restarted");
}
}
};
@Override
public List handlers(Phase phase, ResourceClass resourceClass, ServerResourceMethod resourceMethod) {
if (phase == Phase.AFTER_METHOD_INVOKE) {
return Collections.singletonList(new ServerRestHandler() {
@Override
public void handle(ResteasyReactiveRequestContext requestContext) throws Exception {
//make sure that we are never restarted
requestContext.restart(AWOL, true);
requestContext.suspend(); //we never resume
}
});
}
return Collections.emptyList();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy