Как правильно настроить модификацию ICAP Netty Server Ответ - PullRequest
0 голосов
/ 24 октября 2018

Я работаю над этим проектом более двух недель.Я чувствую, что нахожусь на моем последнем препятствии.Пока я могу получить запрос на изменение ответа ICAP от моего прокси-сервера Blue Coat.Я могу взять этот файл "text or .docx".Я могу проверить и очистить файл.Однако теперь у меня есть все мои данные, готовые к отправке обратно «модифицированному файлу» пользователю либо в ChannelBuffer, либо в Byte Array.Тем не менее, я не понимаю, как настроить сообщение для отправки обратно, так как я не нашел примеров кода, и документация слабая, и мой опыт работы с Java очень низкий.

            Encapsulated shell = message.getEncapsulatedHeader();

            //shell.
           // for (Map.Entry<String,String> s : headerlist) {
            //  System.out.println(s.getKey() + s.getValue());
                //Encapsulated shell()
            //}
            message.getHttpResponse().setContent(cBuffer);
            IcapResponse response = new DefaultIcapResponse(IcapVersion.ICAP_1_0,IcapResponseStatus.OK);
            response.setHeader("Host", "192.168.1.48");
            //response.setHttpResponse((HttpRequest)message);

            //response.setHttpResponse(message.getHttpResponse());    //*** THIS DOES NOT WORK (OR AT LEAST IT makes client say no server response"

            //response.addHeader(IcapHeaders.Names.ISTAG,"SimpleServer-version-1.0");
            //response.setEncapsulatedHeader(shell);
            //response.setHttpRequest(message.getHttpRequest());
            //response.setBody(IcapMessageElementEnum.RESBODY);
            //response.setContent(cBuffer); //cBuffer contains cleansed File but I am not sure what to try
            //response.


            System.out.println("********  Response Content: " + response + "********");
            ctx.getChannel().write(response);

Пока нет файловсделал это обратно к пользователю.Кроме того, из wireshark, похоже, содержимое файла еще не было отправлено.Кажется, что тело сообщения не имеет значения, что бы я ни пытался.Мой следующий шаг - возможно, создать целое новое сообщение HtmlResponse и посмотреть, работает ли это, но я чувствую, что оно не должно быть таким сложным.Есть идеи?Заранее спасибо.

Джо

...