package:angel_framework
has nice support for injecting values from HTTP headers, query string, and session/cookie values, as well as pattern-matching for request handlers.
These act as a clean shorthand for commonly-used functionality.
Here is a simple example of each of them in action:
app.get('/cookie', ioc((('token') String jwt) {return jwt;}));​app.get('/header', ioc((('x-foo') String header) {return header;}));​app.get('/query', ioc((('q') String query) {return query;}));​app.get('/session', ioc((('foo') String foo) {return foo;}));​app.get('/match', ioc((('mode', match: 'pos') String mode) {return 'YES $mode';}));​app.get('/match', ioc((('mode', match: 'neg') String mode) {return 'NO $mode';}));​app.get('/match', ioc((('mode') String mode) {return 'DEFAULT $mode';}));
A simple parameter annotation to inject the value of a sent HTTP header. Throws a 400 if the header is absent.
Searches for the value of a query parameter.
Fetches a value from the session.
Gets the value of a cookie.
The base class driving the above matchers.
Supports:
defaultValue
required
custom error
message
​https://www.dartdocs.org/documentation/angel_framework/latest/angel_framework/Parameter-class.html​