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