Class BalancerServlet

java.lang.Object
javax.servlet.GenericServlet
javax.servlet.http.HttpServlet
All Implemented Interfaces:
Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class BalancerServlet extends ProxyServlet
See Also:
  • Field Details

  • Constructor Details

    • BalancerServlet

      public BalancerServlet()
  • Method Details

    • init

      public void init() throws javax.servlet.ServletException
      Overrides:
      init in class AbstractProxyServlet
      Throws:
      javax.servlet.ServletException
    • validateConfig

      private void validateConfig() throws javax.servlet.ServletException
      Throws:
      javax.servlet.ServletException
    • initStickySessions

      private void initStickySessions()
    • initBalancers

      private void initBalancers() throws javax.servlet.ServletException
      Throws:
      javax.servlet.ServletException
    • initProxyPassReverse

      private void initProxyPassReverse()
    • getBalancerNames

      private Set<String> getBalancerNames() throws javax.servlet.ServletException
      Throws:
      javax.servlet.ServletException
    • rewriteTarget

      protected String rewriteTarget(javax.servlet.http.HttpServletRequest request)
      Overrides:
      rewriteTarget in class AbstractProxyServlet
    • selectBalancerMember

      private BalancerServlet.BalancerMember selectBalancerMember(javax.servlet.http.HttpServletRequest request)
    • findBalancerMemberByName

      private BalancerServlet.BalancerMember findBalancerMemberByName(String name)
    • getBalancerMemberNameFromSessionId

      private String getBalancerMemberNameFromSessionId(javax.servlet.http.HttpServletRequest request)
    • getBalancerMemberNameFromSessionCookie

      private String getBalancerMemberNameFromSessionCookie(javax.servlet.http.HttpServletRequest request)
    • getBalancerMemberNameFromURL

      private String getBalancerMemberNameFromURL(javax.servlet.http.HttpServletRequest request)
    • extractBalancerMemberNameFromSessionId

      private String extractBalancerMemberNameFromSessionId(String sessionId)
    • filterServerResponseHeader

      protected String filterServerResponseHeader(javax.servlet.http.HttpServletRequest request, Response serverResponse, String headerName, String headerValue)
      Overrides:
      filterServerResponseHeader in class AbstractProxyServlet
    • isBackendLocation

      private boolean isBackendLocation(URI locationURI)
    • validateDestination

      public boolean validateDestination(String host, int port)
      Description copied from class: AbstractProxyServlet
      Checks the given host and port against whitelist and blacklist.
      Overrides:
      validateDestination in class AbstractProxyServlet
      Parameters:
      host - the host to check
      port - the port to check
      Returns:
      true if it is allowed to be proxy to the given host and port