Example usage for com.google.common.net HttpHeaders X_FORWARDED_FOR

List of usage examples for com.google.common.net HttpHeaders X_FORWARDED_FOR

Introduction

In this page you can find the example usage for com.google.common.net HttpHeaders X_FORWARDED_FOR.

Prototype

String X_FORWARDED_FOR

To view the source code for com.google.common.net HttpHeaders X_FORWARDED_FOR.

Click Source Link

Document

The HTTP X-Forwarded-For header field name.

Usage

From source file:am.ik.categolj2.core.web.RemoteAddresses.java

public static String getRemoteAddress(HttpServletRequest request) {
    String forwardedFor = request.getHeader(HttpHeaders.X_FORWARDED_FOR);
    String result;//  w  w  w .j  av  a 2s . c o m
    if (forwardedFor != null) {
        result = forwardedFor;
    } else {
        result = request.getRemoteAddr();
    }
    return StringUtils.substring(result, 0, 128);
}

From source file:ru.org.linux.util.LorHttpUtils.java

public static String getRequestIP(HttpServletRequest request) {
    String logmessage = "ip:" + request.getRemoteAddr();
    ArrayList<String> xff = Collections.list(request.getHeaders(HttpHeaders.X_FORWARDED_FOR));

    if (!xff.isEmpty()) {
        logmessage = logmessage + " XFF:" + Joiner.on(", ").join(xff);
    }//from w  ww.  j a va 2  s  .  c  o  m

    return logmessage;
}

From source file:org.haiku.haikudepotserver.support.HttpRequestClientIdentifierSupplier.java

@Override
public Optional<String> get() {
    if (null != request) {
        String result = request.getHeader(HttpHeaders.X_FORWARDED_FOR);

        if (!Strings.isNullOrEmpty(result)) {
            return Optional.of(result);
        }/*  w w w . j  a  va2  s .  c o  m*/

        result = request.getRemoteAddr();

        if (!Strings.isNullOrEmpty(result)) {
            return Optional.of(result);
        }
    }

    return Optional.empty();
}

From source file:co.mitro.core.server.StdoutRequestLog.java

@Override
public void log(Request request, Response response) {
    // copied almost entirely from NCSARequestLog
    final StringBuilder buf = new StringBuilder(256);
    String address = request.getHeader(HttpHeaders.X_FORWARDED_FOR);
    if (address == null) {
        address = request.getRemoteAddr();
    }/*  ww  w.j a v a 2 s .c  om*/

    buf.append(address);
    buf.append(" - ");
    final Authentication authentication = request.getAuthentication();
    if (authentication instanceof Authentication.User) {
        buf.append(((Authentication.User) authentication).getUserIdentity().getUserPrincipal().getName());
    } else {
        buf.append('-');
    }

    buf.append(" [");
    buf.append(dateCache.format(request.getTimeStamp()));

    buf.append("] \"");
    buf.append(request.getMethod());
    buf.append(' ');
    buf.append(request.getUri().toString());
    buf.append(' ');
    buf.append(request.getProtocol());
    buf.append("\" ");

    // TODO: Handle async requests?
    // e.g. if (request.getAsyncContinuation().isInitial())
    assert !request.isAsyncStarted();

    int status = response.getStatus();
    if (status <= 0) {
        if (request.isHandled()) {
            status = 200;
        } else {
            status = 404;
        }
    }
    buf.append((char) ('0' + ((status / 100) % 10)));
    buf.append((char) ('0' + ((status / 10) % 10)));
    buf.append((char) ('0' + (status % 10)));

    final long responseLength = response.getContentCount();
    if (responseLength >= 0) {
        buf.append(' ');
        if (responseLength > 99999) {
            buf.append(responseLength);
        } else {
            if (responseLength > 9999) {
                buf.append((char) ('0' + ((responseLength / 10000) % 10)));
            }
            if (responseLength > 999) {
                buf.append((char) ('0' + ((responseLength / 1000) % 10)));
            }
            if (responseLength > 99) {
                buf.append((char) ('0' + ((responseLength / 100) % 10)));
            }
            if (responseLength > 9) {
                buf.append((char) ('0' + ((responseLength / 10) % 10)));
            }
            buf.append((char) ('0' + (responseLength % 10)));
        }
    } else {
        buf.append(" -");
    }

    final long now = System.currentTimeMillis();
    final long dispatchTime = request.getDispatchTime();

    buf.append(' ');
    buf.append(now - ((dispatchTime == 0) ? request.getTimeStamp() : dispatchTime));

    buf.append(' ');
    buf.append(now - request.getTimeStamp());

    System.out.println(buf.toString());
}

From source file:com.epam.reportportal.auth.event.UiAuthenticationFailureEventHandler.java

private String getClientIP(HttpServletRequest request) {
    String xfHeader = request.getHeader(HttpHeaders.X_FORWARDED_FOR);
    if (xfHeader == null) {
        return request.getRemoteAddr();
    }//  w  w  w  .  j  av a2  s .c o  m
    return xfHeader.split(",")[0];
}

From source file:org.codelabor.system.sniffer.web.filter.AbstractLogbackMappedDiagnosticContextFilter.java

@Override
protected void beforeRequest(HttpServletRequest request, String message) {
    logger.debug("beforeRequest");

    String username = getUsername();

    String sessionId = null;//  ww  w  .ja  va2s  . c om
    HttpSession session = request.getSession();
    if (session != null) {
        sessionId = session.getId();
    }

    String requestId = null;
    RequestContext requestContext = RequestContextHolder.getContext();
    if (requestContext != null) {
        requestId = RequestContextHolder.getContext().getRequestId();
    }
    String remoteAddr = request.getRemoteAddr();
    String remoteHost = request.getRemoteHost();
    String requestUri = request.getRequestURI();
    String requestURL = request.getRequestURL().toString();
    String queryString = request.getQueryString();
    String userAgent = request.getHeader(HttpHeaders.USER_AGENT);
    String xForwardedFor = request.getHeader(HttpHeaders.X_FORWARDED_FOR);
    String servletContainerId = System.getProperty(ServletContainerConstants.SERVLET_CONTAINER_ID_KEY);

    MDC.put("requestId", requestId);
    MDC.put("username", getUsername());
    MDC.put("sessionId", sessionId);
    MDC.put("servletContainerId", servletContainerId);
    MDC.put(RequestConstants.REMOTE_ADDR, remoteAddr);
    MDC.put(RequestConstants.REMOTE_HOST, remoteHost);
    MDC.put(RequestConstants.REQUEST_URI, requestUri);
    MDC.put(RequestConstants.REQUEST_URL, requestURL);
    MDC.put(RequestConstants.QUERY_STRING, queryString);
    MDC.put(HeaderConstants.USER_AGENT, userAgent);
    MDC.put(HeaderConstants.X_FORWARDED_FOR, xForwardedFor);

    logger.debug("requestId: {}", requestId);
    logger.debug("username: {}, sessionId: {}", username);
    logger.debug("sessionId: {}", sessionId);
    logger.debug("servletContainerId: {}", servletContainerId);
    logger.debug("remoteAddr: {}", remoteAddr);
    logger.debug("remoteHost: {}", remoteHost);
    logger.debug("xForwardedFor: {}", xForwardedFor);
    logger.debug("requestUri: {}", requestUri);
    logger.debug("requestURL: {}", requestURL);
    logger.debug("queryString: {}", queryString);
    logger.debug("userAgent: {}", userAgent);
    logger.debug("xForwardedFor: {}", xForwardedFor);
}

From source file:com.github.wxiaoqi.gate.ratelimit.filters.RateLimitFilter.java

private String getRemoteAddr(final HttpServletRequest request) {
    if (properties.isBehindProxy() && request.getHeader(HttpHeaders.X_FORWARDED_FOR) != null) {
        return request.getHeader(HttpHeaders.X_FORWARDED_FOR);
    }/*from w ww  .  j  av  a  2 s.co m*/
    return request.getRemoteAddr();
}

From source file:it.reply.orchestrator.config.filters.CustomRequestLoggingFilter.java

private static String getRemoteAddr(HttpServletRequest request) {
    String remoteAddress = null;//  www. jav  a  2  s  . c o  m
    String[] forwardedAddress = Strings.nullToEmpty(request.getHeader(HttpHeaders.X_FORWARDED_FOR))
            .split(", ?");
    if (ArrayUtils.isEmpty(forwardedAddress) || Strings.nullToEmpty(forwardedAddress[0]).trim().isEmpty()) {
        remoteAddress = request.getRemoteAddr();
    } else {
        remoteAddress = forwardedAddress[0];
    }
    return remoteAddress;
}