From: Kai Moritz Date: Thu, 8 Mar 2012 21:24:03 +0000 (+0100) Subject: HttpTestCase in das Modul test verschoben und schweren Fehler korrigiert X-Git-Url: https://juplo.de/gitweb/?p=percentcodec;a=commitdiff_plain;h=d0f92829349bec782236b5ad0ef089b961cd4901;hp=d0f92829349bec782236b5ad0ef089b961cd4901 HttpTestCase in das Modul test verschoben und schweren Fehler korrigiert Schweren Denkfehler in der Klasse HttpTestCase und dem zugehörigen Response- Wrapper behoben: Der Servlet-Container ruft flush erst auf, wenn die Filter-Kette fertig abgearbeitet wurde. Da hat er aber wieder nur den ursprünglichen Response zur Verfügung und nicht mehr den Response-Wrapper, in den der Response hier zu Test-Zwecken verpackt wurde. Dementsprechend kann der Servlet-Container die Methode flush während der Finalisierung des Requests nur auf dem ursprünglichen Response-Objekt aufrufen -- nicht aber auf dem Response- Wrapper! Wenn der Response-Wrapper also (wie hier der Fall) ein spezielles flush benötigt, kann man sich dafür nicht auf den Servlet-Container verlassen!! Der Flush muss explizit auf angestoßen werden, wenn der Response-Wrapper keine Daten verschlucken soll. Dabei: * Den bisher als innere Klasse implementierten Response-Wrapper in LoggingHttpServletResponseWrapper umbenannt und in eine eigenständige Klasse umgewandelt. * LoggingHttpServletResponseFilter implementiert, mit dem sich der Response-Wrapper auch in enier normalen Java-Webanwendung verwenden lässt, um zu Protokollieren, wie ein Response-Objekt benutzt wird. ---