§Intercepting requests
§Overriding onRouteRequest
One another important aspect of the Global
object is that it provides a way to intercept requests and execute business logic before a request is dispatched to an Action.
Tip This hook can be also used for hijacking requests, allowing developers to plug-in their own request routing mechanism.
Let’s see how this works in practice:
import play.api._
// Note: this is in the default package.
object Global extends GlobalSettings {
def onRouteRequest(request: RequestHeader): Option[Handler] = {
println("executed before every request:" + request.toString)
super.onRouteRequest(request)
}
}
It’s also possible to intercept a specific Action method, using Action composition .
Next: Testing your application
Found an error in this documentation? The source code for this page can be found here. After reading the documentation guidelines, please feel free to contribute a pull request. Have questions or advice to share? Go to our community forums to start a conversation with the community.