public ResteasyFilterContext(ContainerRequestContext requestContext) { super(); delegate = ResteasyProviderFactory.getContextData(io.vertx.reactivex.ext.web.RoutingContext.class).getDelegate(); this.requestContext = (PreMatchContainerRequestContext)requestContext; this.requestContext.suspend(); }
public ResteasyFilterContext(ContainerRequestContext requestContext) { super(); delegate = ResteasyProviderFactory.getContextData(io.vertx.reactivex.ext.web.RoutingContext.class).getDelegate(); this.requestContext = (PreMatchContainerRequestContext)requestContext; this.requestContext.suspend(); }
@Override public void filter(ContainerRequestContext requestContext) throws IOException { Single<Boolean> ret = null; for (Map.Entry<AuthorizingAnnotationHandler, Annotation> authzCheck : authzChecks.entrySet()) { AuthorizingAnnotationHandler handler = authzCheck.getKey(); Annotation authzSpec = authzCheck.getValue(); Single<Boolean> check = handler.assertAuthorized(authzSpec); if(ret == null) ret = check; else ret = ret.zipWith(check, (a, b) -> a && b); } if(ret != null) { PreMatchContainerRequestContext context = (PreMatchContainerRequestContext)requestContext; context.suspend(); ret.subscribe(result -> { if (result) context.resume(); else context.resume(new AuthorizationException("Authorization failed")); }, error -> { context.resume(error); }); } }
@Override public void filter(ContainerRequestContext requestContext) throws IOException { Single<Boolean> ret = null; for (Map.Entry<AuthorizingAnnotationHandler, Annotation> authzCheck : authzChecks.entrySet()) { AuthorizingAnnotationHandler handler = authzCheck.getKey(); Annotation authzSpec = authzCheck.getValue(); Single<Boolean> check = handler.assertAuthorized(authzSpec); if(ret == null) ret = check; else ret = ret.zipWith(check, (a, b) -> a && b); } if(ret != null) { PreMatchContainerRequestContext context = (PreMatchContainerRequestContext)requestContext; context.suspend(); ret.subscribe(result -> { if (result) context.resume(); else context.resume(new AuthorizationException("Authorization failed")); }, error -> { context.resume(error); }); } }