У меня есть эта часть в методе, она должна вернуть страницу и заголовки в веб-браузер.
tSend
- это класс-оболочка для строки, getSub
просто возвращает другой экземпляр класса, подкомпонент. tSend.get()
- это строка страницы, tSend.getSub().get()
- строка, содержащая заголовки ответа для страницы.
Однако в Firefox выдается ошибка кодирования контента
Код:
{
tSend.getSub().println("Content-Length: " + tSend.get().length() + "\r");
if (gzip) {
tSend.getSub().println("Content-Encoding: gzip\r");
}
tSend.getSub().println("\r");
if (mom.DEBUG)
System.out.println("Sending to client");
out.println(tSend.getSub().get());
if (gzip) {
byte[]bytes = tSend.get().getBytes();
GZIPOutputStream outGZIP = new GZIPOutputStream(out);
outGZIP.write(bytes, 0, bytes.length);
outGZIP.finish();
} else
out.println(tSend.get());
}
Я изменил класс для tSend, также я только что включил класс для него. Класс предназначен только для буферизации ответа, чтобы я мог использовать длину содержимого, чтобы позволить мне поддерживать активность на моем http-сервере.
Код:
public static class ToSend
{
private String string = "";
private ToSend sub;
public void setSub(ToSend nextLevel)
{
sub = nextLevel;
}
public ToSend getSub()
{
return sub;
}
public String get()
{
return string;
}
public void set(String s)
{
string = s;
}
public void print(String s)
{
string = string + s;
}
public void println(String s)
{
print(s + "\n");
}
}