com.sief.play.guard

GuardFilter

class GuardFilter extends EssentialFilter

Filter for rate limiting and IP whitelisting/blacklisting

Rejects request based on the following rules:

1. if IP is in whitelist => let pass 2. else if IP is in blacklist => reject with ‘403 FORBIDDEN’ 3. else if IP rate limit exceeded => reject with ‘429 TOO_MANY_REQUEST’ 4. else if global rate limit exceeded => reject with ‘429 TOO_MANY_REQUEST’

Linear Supertypes
EssentialFilter, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. GuardFilter
  2. EssentialFilter
  3. AnyRef
  4. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new GuardFilter()

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. lazy val Enabled: Boolean

  7. lazy val GlobalTokenBucketRate: Int

  8. lazy val GlobalTokenBucketSize: Int

  9. lazy val IpBlacklist: Vector[String]

  10. lazy val IpTokenBucketRate: Int

  11. lazy val IpTokenBucketSize: Int

  12. lazy val IpWhitelist: Vector[String]

  13. def apply(next: EssentialAction): EssentialAction

    Definition Classes
    GuardFilter → EssentialFilter
  14. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  15. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  16. lazy val conf: Configuration

  17. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  18. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  19. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  20. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  21. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  22. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  23. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  24. final def notify(): Unit

    Definition Classes
    AnyRef
  25. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  26. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  27. def toString(): String

    Definition Classes
    AnyRef → Any
  28. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from EssentialFilter

Inherited from AnyRef

Inherited from Any

Ungrouped