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