#dart #dart-html
#dart #dart-html
Вопрос:
На моем сервере dart есть функция, которая получает POST-запрос от клиента. Я хочу использовать информацию из этого запроса для отправки POST на другой сервер, а затем использовать ответ от этого другого сервера для отправки ответа обратно на исходный запрос клиента. Когда я отправляю свой POST на другой сервер, он закрывает поток по входящему запросу клиента, и я больше не могу отвечать. Есть ли способ сохранить поток запросов «живым», пока я делаю POST? Или есть другой способ сделать это? Я пытался опубликовать сообщение в другом изоляте, но это не помогло, поток http-запросов все еще закрывается.
void postRequest(HttpRequest request) async {
final endPoint = 'https://www.anotherserver.com/information';
final client = Client();
final data = request.headers.value('data'); // Get data from client
final response = client.post(endPoint, body: data); // Send data to other server
// Do stuff with the response from endPoint server
// For simplicity of this example, just send back the response body back to the client
// This write call to the request causes an "Stream Sink Closed" exception
// It appears the POST call to the endPoint server, caused the client request stream
// to get closed.
request.response.write(response.body);
await request.response.flush();
await request.response.close();
}
Ответ №1:
Я не await
редактировал client.post…. Мне нужно лучше следить за этим.