RouteData class

Constructors

RouteData({required String method, required String path, required dynamic controllers, bool? corsEnabled, List preMiddleware = const <dynamic>[], String? domain, Object? body})

Properties

action → Function?
The function that handles the request, read once: the last function of controllers, or the controller method that a ControllerAction (Route.get<C>(path, (C c) => c.index)) or a (C c) => c.index function picks. The controller comes from the container. Null when the route has no controller function.
no setter
body ↔ Object?
request body schema for the OpenAPI docs, from the body: option. any object with toJsonSchema(), like a dox_validation schema.
getter/setter pair
controllers → dynamic
final
corsEnabled → bool?
final
domain → String?
final
domainLower → String?
domain in lower case, made once.
latefinal
handler → ControllerPlan?
How to call the controller (the last function of controllers), read once. Null when the route has no controller function. Throws a StateError when a parameter type is not known.
no setter
hashCode → int
The hash code for this object.
no setterinherited
method → String
final
name ↔ String?
set by Route.get(...).name('users.show'), see Route.url
getter/setter pair
paramNames → List<String>
names of the params, eg. ['id'] for /blog/{id}. {path*} matches the rest of the url, slashes too. {id?} is optional: /blog and /blog/5 both match.
no setter
path ↔ String
getter/setter pair
pattern → RegExp?
regex for a route with params like /blog/{id}, built once. null for a plain route, which is matched with ==.
no setter
preMiddleware → List
middleware from groups and routers (Route.middleware, global middleware). they are also the first items of controllers.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
terminable → List<IDoxTerminableMiddleware>
The middleware of this route with a terminate step (IDoxTerminableMiddleware), in order. Read once. Empty for most routes.
no setter
usesNext → bool
True when a middleware of this route takes a next (IDoxNextMiddleware or a NextMiddlewareFunction). Read once.
no setter
wheres ↔ Map<String, String>?
param name => regex, set with Route.where. null for most routes, so they build the same pattern as before.
getter/setter pair

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited
where(String param, String regex) → void
only match param when its text matches regex, see Route.where. A leading ^ and a trailing $ are dropped: the regex must match the whole param text anyway, and inside the route regex they would never match.
whereCheck(String param) → RegExp?
The Route.where regex of param as a full match (^(?:regex)$), built once. Null when param has no where. The router checks the param with it again after % decoding, so %2F can not sneak a / past a rule like [^/]+.

Operators

operator ==(Object other) → bool
The equality operator.
inherited