Skip to content

Instantly share code, notes, and snippets.

@elmot
Created January 24, 2017 23:03
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save elmot/433b56b45f3356a23da067f2cfb26211 to your computer and use it in GitHub Desktop.
Save elmot/433b56b45f3356a23da067f2cfb26211 to your computer and use it in GitHub Desktop.
Heroku - filter to redirect http requests to https
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class HttpsFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpReq = (HttpServletRequest) request;
HttpServletResponse httpResp = (HttpServletResponse) response;
if ("http".equalsIgnoreCase(httpReq.getHeader("x-forwarded-proto"))) {
StringBuffer requestURL = httpReq.getRequestURL();
httpResp.sendRedirect("https" + requestURL.substring(requestURL.indexOf(":")));
} else {
chain.doFilter(request, response);
}
}
@Override
public void destroy() {
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment