Class IpFilter

java.lang.Object
services.moleculer.service.MoleculerComponent
services.moleculer.service.Service
services.moleculer.web.middleware.HttpMiddleware
services.moleculer.web.middleware.IpFilter
All Implemented Interfaces:
services.moleculer.service.MoleculerLifecycle, HttpConstants
Direct Known Subclasses:
HostNameFilter

public class IpFilter extends HttpMiddleware implements HttpConstants
The IpFilter Middleware adds the ability to allow or block requests based on the IP address of the client. Sample:
IpFilter filter = new IpFilter();
filter.allow("150.10.**");
route.use(filter);
  • Field Details

    • logger

      protected final org.slf4j.Logger logger
    • htmlTemplatePath

      protected String htmlTemplatePath
      Template path of the HTML response.
    • htmlTemplate

      protected String htmlTemplate
      Template of the HTML response.
    • htmlTemplateBytes

      protected byte[] htmlTemplateBytes
      Cached response bytes.
    • allow

      protected String[] allow
      Masks (allowed addresses, eg "255.12.34.*").
    • deny

      protected String[] deny
      Masks (denied addresses, eg "255.10.**").
  • Constructor Details

    • IpFilter

      public IpFilter()
    • IpFilter

      public IpFilter(String... allow)
  • Method Details

    • install

      public RequestProcessor install(RequestProcessor next, io.datatree.Tree config)
      Specified by:
      install in class HttpMiddleware
    • getAddress

      protected String getAddress(WebRequest req)
    • sendForbidden

      protected void sendForbidden(WebRequest req, WebResponse rsp, String address)
    • allow

      public IpFilter allow(String... filters)
      Adds "allow" filters (eg "255.10.**", "230.110.10.*" or regular expression).
      Parameters:
      filters - array of filters
      Returns:
      this IpFilter instance
    • deny

      public IpFilter deny(String... filters)
      Adds "deny" filters (eg "255.10.**", "130.30.12.*" or regular expression).
      Parameters:
      filters - array of filters
      Returns:
      this IpFilter instance
    • mergeFilters

      protected String[] mergeFilters(String[] previous, String[] filters)
    • getHtmlTemplate

      public String getHtmlTemplate()
      Returns:
      the htmlTemplate
    • setHtmlTemplate

      public void setHtmlTemplate(String htmlTemplate)
      Parameters:
      htmlTemplate - the htmlTemplate to set
    • getHtmlTemplatePath

      public String getHtmlTemplatePath()
      Returns:
      the htmlTemplatePath
    • setHtmlTemplatePath

      public void setHtmlTemplatePath(String htmlTemplatePath)
      Parameters:
      htmlTemplatePath - the htmlTemplatePath to set