tkawachi / play-filter-only

Utility to apply Play's EssentialFilter to only specific paths

GitHub

play-filter-only

Play's filter is basically applied to all requests. Sometimes I want to apply a filter to only specific paths. PlayFilterOnly wraps a filter, and selectively apply an underlying filter by given predicate.

To use play-filter-only, add a following line to build.sbt (for Play 2.8.x).

libraryDependencies += "com.github.tkawachi" %% "play-filter-only" % "0.4.0"

See the following table if you're using an older version of Play.

Play version Play-filter-only version
2.8.x 0.4.0
2.7.x 0.3.0
2.6.x 0.2.0
2.5.x 0.1.0
2.4.x 0.0.2

For example, to create a CSRFFilter which is only applied to paths starting with /foo.

import com.github.tkawachi.PlayFilterOnly._
CSRFFilter().only(_.path.startsWith("/foo"))

only() takes a function to choose which request to apply a filter.

See http://qiita.com/kawachi/items/1e74647ffe1993b70a62 (Japanese).

This software is released under the MIT License.