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