serializeResponse static method
Uint8List
serializeResponse(
- Response response
)
Implementation
static Uint8List serializeResponse(http.Response response) {
// 自动更新 Content-Length
// response.headers['content-length'] = response.bodyBytes.length.toString();
// 移除 chunked 编码,因为我们现在是完整发送
final headers = Map<String, String>.from(response.headers);
headers.remove('transfer-encoding');
final statusLine = 'HTTP/1.1 ${response.statusCode} ${response.reasonPhrase ?? ''}\r\n';
final headersString = headers.entries
.map((e) => '${e.key}: ${e.value}\r\n')
.join('');
final endOfHeaders = '\r\n';
final head = utf8.encode(statusLine + headersString + endOfHeaders);
return Uint8List.fromList([...head, ...response.bodyBytes]);
}