Angel class

A powerful real-time/REST/MVC server class.

Inheritance

Constructors

Angel({Reflector reflector: const EmptyReflector(), AngelEnvironment environment: angelEnv, Logger logger, bool allowMethodOverrides: true, FutureOr<String> serializer(dynamic), ViewGenerator viewGenerator })

Properties

allowMethodOverrides ↔ bool
Determines whether to allow HTTP request method overrides.
read / write
children → List<Angel>
All child application mounted on this instance.
read-only
configuration → Map
A Map of application-specific data that can be accessed by any piece of code that can see this Angel instance. [...]
final
controllers → Map<Pattern, Controller>
A set of Controller objects that have been loaded into the application.
read-only
encoders → Map<String, Converter<List<int>, List<int>>>
A global Map of converters that can transform responses bodies.
final
environment AngelEnvironment
The AngelEnvironment in which the application is running. [...]
final
errorHandler ↔ dynamic Function(AngelHttpException e, RequestContext req, ResponseContext res)
The handler currently configured to run on AngelHttpExceptions.
read / write
handlerCache → Map<String, Tuple4<List, Map<String, dynamic>, ParseResult<RouteResult>, MiddlewarePipeline>>
final
isProduction → bool
Now deprecated, in favor of AngelEnv and angelEnv. Use app.environment.isProduction instead. [...]
read-only
logger Logger
Outputs diagnostics and debug messages.
read / write
mimeTypeResolver MimeTypeResolver
A MimeTypeResolver that can be used to specify the MIME types of files not known by package:mime.
final
optimizedRouter Router<RequestHandler>
Returns the flattened version of this router in production.
read-only
parent Angel
Returns the parent instance of this application, if any.
read-only
preContained → Map<dynamic, InjectionRequest>
A Map of dependency data obtained via reflection. [...]
read-only
responseFinalizers → List<RequestHandler>
Always run before responses are sent. [...]
final
serializer ↔ FutureOr<String> Function(dynamic)
A middleware to inject a serialize on every request.
read / write
shutdownHooks → List<AngelConfigurer>
Plug-ins to be called right before server shutdown. [...]
final
startupHooks → List<AngelConfigurer>
Plug-ins to be called right before server startup. [...]
final
viewGenerator ViewGenerator
A function that renders views. [...]
read / write
container Container
A Container used to inject dependencies.
read-only, inherited
hashCode → int
The hash code for this object.
read-only, inherited
middleware → List<RequestHandler>
read-only, inherited
mounted → Map<Pattern, Router<RequestHandler>>
read-only, inherited
onService → Stream<Service>
Fired whenever a service is added to this instance. [...]
read-only, inherited
routes → List<Route<RequestHandler>>
read-only, inherited
runtimeType → Type
A representation of the runtime type of the object.
read-only, inherited
services → Map<Pattern, Service>
A set of Service objects that have been mapped into routes.
read-only, inherited

Methods

addRoute(String method, String path, RequestHandler handler, { Iterable<RequestHandler> middleware }) Route<RequestHandler>
Adds a route that responds to the given path for requests with the given method (case-insensitive). Provide '*' as the method to respond to all methods.
override
bootstrapContainer() → void
Loads some base dependencies into the service container.
close() → Future
Shuts down the server, and closes any open StreamControllers. [...]
override
configure(AngelConfigurer configurer) → Future
Applies an AngelConfigurer to this instance.
dumpTree({dynamic callback(String tree), String header: 'Dumping route tree:', String tab: ' ', bool showMatchers: false }) → void
Creates a visual representation of the route hierarchy and passes it to a callback. If none is provided, print is called.
override
executeHandler(dynamic handler, RequestContext req, ResponseContext res) → Future<bool>
Runs some handler. Returns true if request execution should continue.
fallback(RequestHandler handler) Route<RequestHandler>
Shorthand for calling all('*', handler).
findProperty(dynamic key) → dynamic
Attempts to find a property by the given name within this application.
getHandlerResult(dynamic handler, RequestContext req, ResponseContext res) → Future
mount(String path, Router<RequestHandler> router) SymlinkRoute<RequestHandler>
Incorporates another Router's routes into this one's.
override
mountController<T extends Controller>([Type type ]) → Future
Shorthand for using the container to instantiate, and then mount a Controller. [...]
optimizeForProduction({bool force: false }) → void
Runs several optimizations, if angelEnv.isProduction is true. [...]
runContained(Function handler, RequestContext req, ResponseContext res, [ Container container ]) → Future
Run a function after injecting from service container. If this function has been reflected before, then the execution will be faster, as the injection requirements were stored beforehand.
runReflected(Function handler, RequestContext req, ResponseContext res, [ Container container ]) → Future
Runs with DI, and always reflects. Prefer runContained.
use<Id, Data, T extends Service<Id, Data>>(String path, T service) HookedService<Id, Data, T>
Mounts a service at the given path. [...]
override
all(String path, RequestHandler handler, { Iterable<RequestHandler> middleware }) Route<RequestHandler>
Adds a route that responds to any request matching the given path.
inherited
chain(Iterable<RequestHandler> middleware) → _ChainedRouter<RequestHandler>
Prepends the given middleware to any routes created by the resulting router. [...]
inherited
clone() Router<RequestHandler>
Returns a Router with a duplicated version of this tree.
inherited
delete(String path, RequestHandler handler, { Iterable<RequestHandler> middleware }) Route<RequestHandler>
Adds a route that responds to a DELETE request.
inherited
enableCache() → void
Enables the use of a cache to eliminate the overhead of consecutive resolutions of the same path.
inherited
findHookedService<T extends Service>(Pattern path) HookedService<dynamic, dynamic, T>
Shorthand for finding a HookedService in a statically-typed manner.
inherited
findService<T extends Service>(Pattern path) → T
Retrieves the service assigned to the given path.
inherited
findServiceOf<Id, Data>(Pattern path) Service<Id, Data>
Shorthand for finding a Service in a statically-typed manner.
inherited
get(String path, RequestHandler handler, { Iterable<RequestHandler> middleware }) Route<RequestHandler>
Adds a route that responds to a GET request.
inherited
group(String path, void callback(Router<T> router), { Iterable<RequestHandler> middleware, String name }) SymlinkRoute<RequestHandler>
Creates a route, and allows you to add child routes to it via a Router instance. [...]
inherited
Adds a route that responds to a HEAD request.
inherited
Generates a URI string based on the given input. Handy when you have named routes. [...]
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
inherited
options(String path, RequestHandler handler, { Iterable<RequestHandler> middleware }) Route<RequestHandler>
Adds a route that responds to a OPTIONS request.
inherited
patch(String path, RequestHandler handler, { Iterable<RequestHandler> middleware }) Route<RequestHandler>
Adds a route that responds to a PATCH request.
inherited
post(String path, RequestHandler handler, { Iterable<RequestHandler> middleware }) Route<RequestHandler>
Adds a route that responds to a POST request.
inherited
put(String path, RequestHandler handler, { Iterable<RequestHandler> middleware }) Route
Adds a route that responds to a PUT request.
inherited
resolve(String absolute, String relative, List<RoutingResult<RequestHandler>> out, { String method: 'GET', bool strip: true }) → bool
Finds the first Route that matches the given path, with the given method.
inherited
resolveAbsolute(String path, { String method: 'GET', bool strip: true }) → Iterable<RoutingResult<RequestHandler>>
Returns the result of resolve with path passed as both absolute and relative.
inherited
resolveAll(String absolute, String relative, { String method: 'GET', bool strip: true }) → Iterable<RoutingResult<RequestHandler>>
Finds every possible Route that matches the given path, with the given method.
inherited
toString() → String
Returns a string representation of this object.
inherited

Operators

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

Static Properties

noViewEngineConfigured ViewGenerator
read / write