Я использую пост-фильтр Zuul для перехвата ответа.Мое требование - добавить одно новое поле в ответ json.Я могу перехватить ответ и отредактировать его.Но не удалось установить обновленный ответ для RequestContext. Как можно прочитать тело ответа, отредактировать и обновить его до RequestContext, используя Zuul в качестве прокси в пост-фильтре?
использую.
private void updateResponseBody(RequestContext ctx) throws IOException, JSONException {
final InputStream responseDataStream = ctx.getResponseDataStream();
String responseData = CharStreams.toString(new InputStreamReader(responseDataStream, "UTF-8"));
JSONObject jsonObj = new JSONObject(responseData);
JSONArray groupsArray = jsonObj.getJSONArray("list");
for (int i = 0; i < groupsArray.length(); i++) {
JSONObject groupId = groupsArray.getJSONObject(i);
groupId.accumulate("new_json_field_name", "new_json_field_value");
}
String updatedResponse = jsonObj.toString();
// ctx.setResponseBody(body); // also not working
ctx.setResponseDataStream(org.apache.commons.io.IOUtils.toInputStream(updatedResponse, "UTF-8"));
}
Ошибка, которую я получаю:
Error while sending response to client: java.io.IOException: An existing connection was forcibly closed by the remote host.
Может кто-нибудь, пожалуйста, помогите мне в этом.