Class LimitHandler

  • All Implemented Interfaces:
    com.networknt.handler.LightHttpHandler, com.networknt.handler.MiddlewareHandler, io.undertow.server.HttpHandler

    public class LimitHandler
    extends Object
    implements com.networknt.handler.MiddlewareHandler
    A handler which limits the maximum number of concurrent requests. Requests beyond the limit will be queued with limited size of queue. If the queue is full, then request will be dropped.
    Author:
    Steve Hu
    • Field Summary

      • Fields inherited from interface com.networknt.handler.LightHttpHandler

        AUDIT_CONFIG_NAME, AUDIT_ON_ERROR, AUDIT_STACK_TRACE, auditConfig, auditOnError, auditStackTrace, CONFIG_NAME, ERROR_NOT_DEFINED
    • Constructor Detail

      • LimitHandler

        @Deprecated
        public LimitHandler​(LimitConfig cfg)
                     throws Exception
        Deprecated.
        This is a constructor for test cases only. Please don't use it.
        Parameters:
        cfg - limit config
        Throws:
        Exception - thrown when config is wrong.
    • Method Detail

      • handleRequest

        public void handleRequest​(io.undertow.server.HttpServerExchange exchange)
                           throws Exception
        Specified by:
        handleRequest in interface io.undertow.server.HttpHandler
        Throws:
        Exception
      • getNext

        public io.undertow.server.HttpHandler getNext()
        Specified by:
        getNext in interface com.networknt.handler.MiddlewareHandler
      • setNext

        public com.networknt.handler.MiddlewareHandler setNext​(io.undertow.server.HttpHandler next)
        Specified by:
        setNext in interface com.networknt.handler.MiddlewareHandler
      • isEnabled

        public boolean isEnabled()
        Specified by:
        isEnabled in interface com.networknt.handler.MiddlewareHandler
      • register

        public void register()
        Specified by:
        register in interface com.networknt.handler.MiddlewareHandler
      • reload

        public void reload()
        Specified by:
        reload in interface com.networknt.handler.MiddlewareHandler