Encapsulation of metadata and a result generator
Encapsulation of metadata and a result generator
The type of HList
required to execute the Action.
Information about the status and type the Action will produce.
Encodings that the response supports.
Function of Request
and the HList
to a Task[Response]
This trait serves to transform a RhoRoute into an RouteType
This can be a stateful operation, storing the action for later execution
or any other type of compilation phase.
Type that can accept a decoder.
Type that can accept a decoder.
A subtype of Decodable can accept an EntityDecoder
for extracting a message
from the Request
body.
Fully functional path building
Typed builder of query rules
Typed builder of query rules
The QueryBuilder represents a builder for routes that already have a defined method and path. It can accumulate query rules and mount decoders.
The HList representation of the types the route expects to extract
from a Request
.
Request method to match.
Path rules to execute.
Accumulated RequestRule's.
DSL construct for building query rules without a known Method
DSL construct for building query rules without a known Method
The RequestLineBuilder doesn't know about header rules or the method.
The HList
representation of the values to be extracted from the Request
.
A helper for capturing the result types and status codes from routes
A type to bundle everything needed to define a route
Constructor class for defining routes
Constructor class for defining routes
The RhoService provides a convenient way to define routes in a style similar to scalatra etc by providing implicit conversions and an implicit CompileService inside the constructor.
val srvc = new RhoService { POST / "foo" / pathVar[Int] +? param[String]("param") |>> { (p1: Int, param: String) => Ok("success") } }
Object which can be compiled into a complete route The RouteExecutable is a complete set of HTTP method, path, query, and headers needed for a compiler to generate a complete route description.
Object which can be compiled into a complete route The RouteExecutable is a complete set of HTTP method, path, query, and headers needed for a compiler to generate a complete route description.
The HList
representation of the types the route expects to extract
from a Request
.
Types that extends this trait can be prepended with noncapturing paths
Provides the operations for generating a router
Provides the operations for generating a router
cumulative type of the required method for executing the router
request methods to match
path matching stack
header validation stack
A typed shell which represents the requirements of the route
A typed shell which represents the requirements of the route
The HList
representation of the values to be extracted from the Request
.
Defines a type that is convertible into an Uri
or UriTemplate
requires the header and will pull this header from the pile and put it into the function args stack
Capture a specific header and map its value
Capture a specific header and map its value
HeaderKey
used to identify the header to capture
mapping function
Capture a specific header and map its value with an optional default
Capture a specific header and map its value with an optional default
HeaderKey
used to identify the header to capture
optional default for the case of a missing header
mapping function
Requires that the header exists
Requires that the header exists
HeaderKey
that identifies the header which is required
Requires that the header exists and satisfies the condition
Requires that the header exists and satisfies the condition
HeaderKey
that identifies the header to capture and parse
predicate function where a return value of false
signals an invalid
header and aborts evaluation with a _BadRequest_ response.
Check that the header exists and satisfies the condition
Check that the header exists and satisfies the condition
HeaderKey
that identifies the header to capture and parse
function that evaluates the header and returns a Some(Response) to immediately send back to the user or None to continue evaluation.
Create a header capture rule using the Request
's Headers
Create a header capture rule using the Request
's Headers
function generating the result or failure
Create a query capture rule using the Request
's Uri
Create a query capture rule using the Request
's Uri
function generating the result or failure
Create a header capture rule using the Request
Create a header capture rule using the Request
In general, this function should be avoided for most cases because it has access to the entire Request
which allows it to modify the Request
body which should be avoided.
function generating the result or failure
Create a query capture rule using the Request
Create a query capture rule using the Request
In general, this function should be avoided for most cases because it has access to the entire Request
which allows it to modify the Request
body which should be avoided.
function generating the result or failure
Define a query parameter that will be validated with the predicate
Define a query parameter that will be validated with the predicate
Failure of the predicate results in a '403: BadRequest' response.
Define a query parameter that will be validated with the predicate
Define a query parameter that will be validated with the predicate
Failure of the predicate results in a '403: BadRequest' response.
Define a query parameter with a default value
Defines a parameter in query string that should be bound to a route definition.
Defines a parameter in query string that should be bound to a route definition.
name of the parameter in query
Defines a parameter in query string that should be bound to a route definition.
Defines a parameter in query string that should be bound to a route definition.
Defines a path variable of a URI that should be bound to a route definition
Defines a path variable of a URI that should be bound to a route definition
Helper to be able to define a path with one level only.
Helper to be able to define a path with one level only.
val hello = Root / "hello"