handle<REQUEST, RES> method
Handles an HTTP request using the provided handler.
request: The HTTP request to handle.
handler: The function that creates a request handler for the request.
Returns a Future that completes with the response.
Implementation
@override
Future<RES> handle<REQUEST, RES>({
required REQUEST request,
required RequestHandler handler,
}) async {
final context = request as RequestContext;
final req = await Pluggable.mapper.mapAsync<RequestContext, PHttpRequest>(
context,
);
final result = await handler(req).execute();
final mapped = Pluggable.mapper.map<PHttpResponse, Response>(
result,
);
return mapped.copyWith(
headers: {
'x-request-id': req.requestId,
...mapped.headers,
},
) as RES;
}