Primary entry point for all HTTP requests on Play applications.
Get a handler for the given request.
In addition to retrieving a handler for the request, the request itself may be modified - typically it will be
tagged with routing information. It is also acceptable to simply return the request as is. Play will switch to
using the returned request from this point in in its request handling.
The reason why the API allows returning a modified request, rather than just wrapping the Handler in a new Handler
that modifies the request, is so that Play can pass this request to other handlers, such as error handlers, or
filters, and they will get the tagged/modified request.
The request to handle
The possibly modified/tagged request, and a handler to handle it
Adapt this to a Java HttpRequestHandler