call method
Answers request, so a router is usable wherever a Handler is.
Dart tears this off implicitly when a router is passed to something
expecting a function, which is why serve(app, ...) needs no conversion —
the same reason axum::serve(listener, app) takes a Router directly.
Implementation
@override
FutureOr<Response> call(Request request) => handler(request);