Как правильно настроить модификацию ICAP Netty Server Ответ

Я работаю над этим проектом более двух недель. Я чувствую, что нахожусь на моем последнем препятствии. Пока я могу получить запрос на изменение ответа 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 и посмотреть, работает ли это, но я чувствую, что оно не должно быть таким сложным. Есть идеи? Заранее спасибо.

Джо

0 ответов

Другие вопросы по тегам