registerSingleMiddleware<T> method
Null safety
- String? uri,
- Method? method,
- MiddlewareAttachType attachType,
- Middleware<
T> middleware
Used to register a Middleware in a single location
Implementation
void registerSingleMiddleware<T>(final String? uri, final Method? method,
final MiddlewareAttachType attachType, final Middleware<T> middleware) {
switch (attachType) {
case MiddlewareAttachType.whenUriHasBeenExtracted:
assert(T == Request, 'Must be a reuqest middleware');
assert(uri != null, 'Uri must not be null');
_router[uri]!.middlewares.add(middleware as Middleware<Request>);
break;
case MiddlewareAttachType.whenMethodHasBeenExtracted:
assert(T == Request, 'Must be a reuqest middleware');
assert(uri != null, 'Uri must not be null');
assert(method != null, 'Method must not be null');
_router[uri]!
.methodRouter[method]!
.requestMiddlewares
.add(middleware as Middleware<Request>);
break;
case MiddlewareAttachType.afterEndpointExecution:
assert(T == Response, 'Must be a response middleware');
assert(uri != null, 'Uri must not be null');
assert(method != null, 'Method must not be null');
_router[uri]!
.methodRouter[method]!
.responseMiddlewares
.add(middleware as Middleware<Response>);
break;
}
_context.register(middleware);
}