Hallo
ich habe einen kleinen Http Proxy der nichts weiter machen soll als Anfragen auf Port 8080 entgegen zunehmen und dann an den Server weiterzuleiten. Und das ganze auch wieder auf dem Rückweg.
Nun hängt die Ausführung in folgender Methode
Das ganze macht folgendes:
1. Lese die aktuelle Http-Requestheaderzeile aus dem Request des Browsers
2. Entferne Http1/1 aus dem Request und erstelle ein URL Objekt
3. Schreibe die (evtl. modifizierte Zeile in einen Stringbuffer (this.header))
Nun passiert beim Aufruf aber folgendes:
Er geht in die Methode und durchläuft die while-Schleife ein paar mal und bleibt dann im reader.readline() stecken ohne eine Exception zu werfen. Er kommt einfach nicht zurück.
Noch dazu ist es sehr unterschiedlich wann das ganze auftritt, soll heißen mal klappt es bis zur 3. Zeile dann schafft er es wieder bis zur 5.
Hat jemand ne Idee wo der Hund begraben liegt?
ich habe einen kleinen Http Proxy der nichts weiter machen soll als Anfragen auf Port 8080 entgegen zunehmen und dann an den Server weiterzuleiten. Und das ganze auch wieder auf dem Rückweg.
Nun hängt die Ausführung in folgender Methode
Code:
private void parseURL() throws IOException {
System.out.println("parseURL()");
String currLine = null;
System.out.println("Old Header: ");
currLine = this.reader.readLine(); //der reader zeigt auf den InputStream vom Browser
while ((currLine) != null) {
System.out.println(currLine);
if (currLine.indexOf("HTTP/1") != -1) {
currLine = currLine.substring(0, currLine.indexOf("HTTP/1")-1);
this.serverURL = new URL(currLine.substring(4));
}
this.header.append(currLine + "\n");
currLine = this.reader.readLine(); // hier bleibt er hängen und kommt nicht zurück !
}
System.out.println("New Header: \n" + this.header);
}
Das ganze macht folgendes:
1. Lese die aktuelle Http-Requestheaderzeile aus dem Request des Browsers
2. Entferne Http1/1 aus dem Request und erstelle ein URL Objekt
3. Schreibe die (evtl. modifizierte Zeile in einen Stringbuffer (this.header))
Nun passiert beim Aufruf aber folgendes:
Er geht in die Methode und durchläuft die while-Schleife ein paar mal und bleibt dann im reader.readline() stecken ohne eine Exception zu werfen. Er kommt einfach nicht zurück.
Noch dazu ist es sehr unterschiedlich wann das ganze auftritt, soll heißen mal klappt es bis zur 3. Zeile dann schafft er es wieder bis zur 5.
Hat jemand ne Idee wo der Hund begraben liegt?