handle method
Handles a framework-neutral request, matching GenkitHttpRequest.path
(decoded) exactly against the registered routes.
Returns null when no route matches, so framework adapters can fall
through to their own routing (or answer 404).
Implementation
Future<GenkitHttpResponse?> handle(GenkitHttpRequest request) async {
final handler = _routes[request.path];
if (handler == null) return null;
return handler(request);
}