Inspect or reject the request. Throw to abort the chain.
The default implementation does nothing, so a middleware that only overrides process does not need to define it.
Future<void> handle(Request req) async {}