2
Есть ли способ установить mimeType
из HttpClientRequest
?Dart - set mimetype HttpClientRequest
Я пытаюсь сделать некоторые UnitTests где я создаю экземпляр HttpClient
, а затем послал запрос на пост с байтами данных в HttpServer
, а затем разобрать его на основе mimeType
я поставил. Что-то вроде этого:
import 'dart:io';
void main() {
HttpServer.bind('localhost', 8080)
.then((HttpServer server) {
server.listen((HttpRequest request) {
String mimeType = request.headers.contentType.mimeType;
if (mimeType == 'application/json') {
// parse bytes of data to json and then to map
} else if (mimeType == 'text/plain') {
// parse bytes of data to string
}
// do something with data
// close response
});
});
HttpClient client = new HttpClient();
client.open('POST', '127.0.0.1', 8080, '/')
.then((HttpClientRequest r) {
r.add('{"val": 5}'.codeUnits);
// already tried both
r.headers.set(HttpHeaders.CONTENT_TYPE, 'application/json'); // doesn't work
r.headers.contentType = ContentType.parse('application/json'); // doesn't work
r.close();
});
}
Так HttpHeaders
неизменна. Любое обходное решение?