Skip to content

Instantly share code, notes, and snippets.

@garcia-jj
Created March 2, 2012 00:29
Show Gist options
  • Save garcia-jj/1954263 to your computer and use it in GitHub Desktop.
Save garcia-jj/1954263 to your computer and use it in GitHub Desktop.
Openshift hacks
import static com.google.common.base.Objects.firstNonNull;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
public class OpenshiftRequestWrapperFilter
implements Filter {
@Override
public void init(FilterConfig config)
throws ServletException {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
chain.doFilter(new OpenshiftHttpServletRequest((HttpServletRequest) request), response);
}
@Override
public void destroy() {
}
public class OpenshiftHttpServletRequest
extends HttpServletRequestWrapper
implements HttpServletRequest {
public OpenshiftHttpServletRequest(HttpServletRequest request) {
super(request);
}
@Override
public String getRemoteAddr() {
return firstNonNull(getHeader("x-forwarded-for"), super.getRemoteAddr());
}
@Override
public boolean isSecure() {
return super.isSecure() || "https".equals(getHeader("x-forwarded-proto"));
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment