public static String inferRealIpAddress(Req req) { // TODO if CloudFlare is detected, use req.header("cf-connecting-ip")? return req.clientIpAddress(); }
private void addExtraRequestHeaders(Req req, Map<String, String> headers) { String clientIpAddress = req.clientIpAddress(); if (setXUsernameHeader()) headers.put("X-Username", U.safe(Current.username())); if (setXRolesHeader()) headers.put("X-Roles", U.join(", ", Current.roles())); if (setXClientIPHeader()) headers.put("X-Client-IP", clientIpAddress); if (setXRealIPHeader()) headers.put("X-Real-IP", req.realIpAddress()); if (setXForwardedForHeader()) { String forwardedFor = headers.get("X-Forwarded-For"); if (U.notEmpty(forwardedFor)) { forwardedFor += ", " + clientIpAddress; } else { forwardedFor = clientIpAddress; } headers.put("X-Forwarded-For", forwardedFor); } }
private void logError(Req req, Throwable error, LogLevel logLevel) { if (error instanceof NotFound) return; if (Msc.isValidationError(error)) { if (Log.isDebugEnabled()) { Log.debug("Validation error when handling request: " + req); error.printStackTrace(); } return; } if (error instanceof SecurityException) { Log.debug("Access denied for request: " + req, "client", req.clientIpAddress()); return; } Log.log(null, logLevel, "Error occurred when handling request!", "error", error); }
public static String inferRealIpAddress(Req req) { // TODO if CloudFlare is detected, use req.header("cf-connecting-ip")? return req.clientIpAddress(); }
@Override public Object execute(Req req) throws Exception { String scope = req.param("scope"); PeerDiscoveryInfo info = new PeerDiscoveryInfo(req.clientIpAddress(), req.realIpAddress()); state.clients.get(scope).add(info); return NiceResponse.ok(req, "Successfully registered for discovery"); }
private void addExtraRequestHeaders(Req req, Map<String, String> headers) { String clientIpAddress = req.clientIpAddress(); if (setXUsernameHeader()) headers.put("X-Username", U.safe(Current.username())); if (setXRolesHeader()) headers.put("X-Roles", U.join(", ", Current.roles())); if (setXClientIPHeader()) headers.put("X-Client-IP", clientIpAddress); if (setXRealIPHeader()) headers.put("X-Real-IP", req.realIpAddress()); if (setXForwardedForHeader()) { String forwardedFor = headers.get("X-Forwarded-For"); if (U.notEmpty(forwardedFor)) { forwardedFor += ", " + clientIpAddress; } else { forwardedFor = clientIpAddress; } headers.put("X-Forwarded-For", forwardedFor); } }
private void logError(Req req, Throwable error, LogLevel logLevel) { if (error instanceof NotFound) return; if (Msc.isValidationError(error)) { if (Log.isDebugEnabled()) { Log.debug("Validation error when handling request: " + req); error.printStackTrace(); } return; } if (error instanceof SecurityException) { Log.debug("Access denied for request: " + req, "client", req.clientIpAddress()); return; } Log.log(null, logLevel, "Error occurred when handling request!", "error", error); }