Class IpFilteringService

  • All Implemented Interfaces:
    com.linecorp.armeria.server.Service<com.linecorp.armeria.common.HttpRequest,​com.linecorp.armeria.common.HttpResponse>

    public class IpFilteringService
    extends com.linecorp.armeria.server.SimpleDecoratingService<com.linecorp.armeria.common.HttpRequest,​com.linecorp.armeria.common.HttpResponse>
    DecoratingService which only allows requests from a whitelist of IP addresses. This can be used to, for example, restrict requests to a corporate office. IP restrictions tend to be difficult to work with, especially with remote workers, and hard to manage - when possible, an authentication based system like Google Identity-Aware Proxy is strongly recommended.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static java.util.function.Function<com.linecorp.armeria.server.Service<com.linecorp.armeria.common.HttpRequest,​com.linecorp.armeria.common.HttpResponse>,​IpFilteringService> newDecorator​(java.util.List<java.lang.String> ipRules)  
      com.linecorp.armeria.common.HttpResponse serve​(com.linecorp.armeria.server.ServiceRequestContext ctx, com.linecorp.armeria.common.HttpRequest req)  
      • Methods inherited from class com.linecorp.armeria.server.DecoratingService

        as, delegate, serviceAdded, shouldCachePath, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface com.linecorp.armeria.server.Service

        decorate, decorate, decorate
    • Method Detail

      • newDecorator

        public static java.util.function.Function<com.linecorp.armeria.server.Service<com.linecorp.armeria.common.HttpRequest,​com.linecorp.armeria.common.HttpResponse>,​IpFilteringService> newDecorator​(java.util.List<java.lang.String> ipRules)
      • serve

        public com.linecorp.armeria.common.HttpResponse serve​(com.linecorp.armeria.server.ServiceRequestContext ctx,
                                                              com.linecorp.armeria.common.HttpRequest req)
                                                       throws java.lang.Exception
        Throws:
        java.lang.Exception