asticsearch: преобразование StreamOutput в строку

Я переопределяю ---- +: = 0 =: + ---- , чтобы я мог видеть входящие запросы. Я хотел бы получить способ FilterClient представления String это передано. ActionRequest давайте напишем на ActionRequest , это тип Elasticsearch, который является подклассом StreamOuput . В этом ТАКОМ сообщении показано, как преобразовать OutputStream в строку, но я вынужден использовать OutputStream из-за ---- +: = 8 =: + ---- API.

Как получить строковое представление StreamOuput или хотя бы читаемую версию, которая покажет мне полезную информацию о запросе? (Вызов FilterClient вызывает ActionRequest, что не достаточно хорош для меня.)

7 голосов | спросил lf215 21 MarpmTue, 21 Mar 2017 21:14:18 +03002017-03-21T21:14:18+03:0009 2017, 21:14:18

1 ответ


0

StreamOutput - это абстрактный класс, у которого есть подкласс с именем OutputStreamStreamOutput. Последний в основном является оберткой вокруг OutputStream, так что вы создадите экземпляр, который обернет ByteArrayOutputStream, а затем используйте его в вызове ActionRequest.writeTo().

// in your override doExecute method, add this:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
OutputStreamStreamOutput osso = new OutputStreamStreamOutput(baos);

request.writeTo(osso);
String requestAsString = baos.toString("UTF-8");
ответил Val 24 MaramFri, 24 Mar 2017 08:24:51 +03002017-03-24T08:24:51+03:0008 2017, 08:24:51

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132