writeResponse function
writeResponse takes in an HTTP request and a steward response, and writes the contents of the steward response to the HTTP response. TODO: this should only be called by Steward
Implementation
Future<void> writeResponse(HttpRequest request, Future<Response> resp) async {
final response = await resp;
final body = response.body;
request.response.headers.contentType = response.headers.contentType;
request.response.headers.date = response.headers.date;
if (response.headers[_headersKey] != null) {
request.response.headers.set(_headersKey, response.headers[_headersKey]!);
}
if (response.headers[_originKey] != null) {
request.response.headers.set(_originKey, response.headers[_originKey]!);
}
if (response.headers[_methodsKey] != null) {
request.response.headers.set(_methodsKey, response.headers[_methodsKey]!);
}
request.response.statusCode = response.statusCode;
request.response.write(body);
return;
}