/** * Returns a new handler that can allow or deny access to a resource based on IP address * * @param next The next handler in the chain * @param defaultAllow Determine if a non-matching address will be allowed by default * @return A new IP access control handler */ public static final IPAddressAccessControlHandler ipAccessControl(final HttpHandler next, boolean defaultAllow) { return new IPAddressAccessControlHandler(next).setDefaultAllow(defaultAllow); }
@Override public HttpHandler wrap(HttpHandler handler) { IPAddressAccessControlHandler res = new IPAddressAccessControlHandler(handler, failureStatus); for(Holder match: peerMatches) { if(match.deny) { res.addDeny(match.rule); } else { res.addAllow(match.rule); } } res.setDefaultAllow(defaultAllow); return res; } }
private void createServer() { logger.log(Level.FINE, "Locked to build server..."); OAuthTokenInterceptor extractingHttpHandler = new ExtractingTokenInterceptor(ioQueue); IPAddressAccessControlHandler ipAddressAccessControlHandler = new IPAddressAccessControlHandler(); ipAddressAccessControlHandler.setDefaultAllow(false); for (InetAddress inetAddress : allowedClients) { ipAddressAccessControlHandler.addAllow(inetAddress.getHostAddress()); } server = Undertow.builder() .addHttpListener(port, "localhost") .setHandler(ipAddressAccessControlHandler) .setHandler(Handlers.path() .addExactPath(createPath(extractingHttpHandler.getPathPrefix()), extractingHttpHandler) .addExactPath(createPath(interceptor.getPathPrefix()), interceptor) ) .build(); logger.log(Level.INFO, "Starting token web listener..."); server.start(); }
/** * Returns a new handler that can allow or deny access to a resource based on IP address * * @param next The next handler in the chain * @param defaultAllow Determine if a non-matching address will be allowed by default * @return A new IP access control handler */ public static final IPAddressAccessControlHandler ipAccessControl(final HttpHandler next, boolean defaultAllow) { return new IPAddressAccessControlHandler(next).setDefaultAllow(defaultAllow); }
/** * Returns a new handler that can allow or deny access to a resource based on IP address * * @param next The next handler in the chain * @param defaultAllow Determine if a non-matching address will be allowed by default * @return A new IP access control handler */ public static final IPAddressAccessControlHandler ipAccessControl(final HttpHandler next, boolean defaultAllow) { return new IPAddressAccessControlHandler(next).setDefaultAllow(defaultAllow); }
@Override public HttpHandler wrap(HttpHandler handler) { IPAddressAccessControlHandler res = new IPAddressAccessControlHandler(handler, failureStatus); for(Holder match: peerMatches) { if(match.deny) { res.addDeny(match.rule); } else { res.addAllow(match.rule); } } res.setDefaultAllow(defaultAllow); return res; } }
@Override public HttpHandler wrap(HttpHandler handler) { IPAddressAccessControlHandler res = new IPAddressAccessControlHandler(handler, failureStatus); for(Holder match: peerMatches) { if(match.deny) { res.addDeny(match.rule); } else { res.addAllow(match.rule); } } res.setDefaultAllow(defaultAllow); return res; } }