percentcodec
6 years agoSCM-Informationen in der POM aktualisiert master
Kai Moritz [Mon, 26 Nov 2012 21:53:58 +0000 (22:53 +0100)]
SCM-Informationen in der POM aktualisiert

6 years agoProjekt in ein eigenes GIT-Repository ohne Parent-Modul separiert
Kai Moritz [Fri, 31 Aug 2012 18:20:03 +0000 (20:20 +0200)]
Projekt in ein eigenes GIT-Repository ohne Parent-Modul separiert

6 years agoSCM-Daten ergänzt
Kai Moritz [Tue, 28 Aug 2012 22:31:00 +0000 (00:31 +0200)]
SCM-Daten ergänzt

6 years agoProjekt von de.halbekunst.juplo nach de.juplo verschoben und aufgeräumt
Kai Moritz [Thu, 23 Aug 2012 20:20:53 +0000 (22:20 +0200)]
Projekt von de.halbekunst.juplo nach de.juplo verschoben und aufgeräumt

6 years agoMaven-Plugin "Hibernate 4" implementiert
Kai Moritz [Sun, 5 Aug 2012 23:19:07 +0000 (01:19 +0200)]
Maven-Plugin "Hibernate 4" implementiert

6 years agoJSP-Seite und Servlet ergänzt, die eine Exception werfen
Kai Moritz [Thu, 2 Aug 2012 07:53:33 +0000 (09:53 +0200)]
JSP-Seite und Servlet ergänzt, die eine Exception werfen

Wenn es zu einer Exception kommt, nachdem die ersten Bytes der Antwort
gesendet wurden, dekodiert Jetty die Antwort offensichtlich falsch, da
es die Fehlermeldung an dem geöffneten Stream vorbei ergänzt.

Unter Tomcat hingegen, greifen die Mechanismen wie gewohnt und die
Fehler-Antwort ist korrekt GZIP-enkodiert (falls gewünscht).

TODO:
Es ist noch nicht klar, ob hier ein Fehlverhalten von Jetty vorliegt, oder
von Juplo! Das Verhalten von Tomcat wird auch zweideutig, wenn man die
länge der zu erzeugenden Nachrricht extrem verlängert: der Client erhält
dann eine unvollständige Antwort zurück, in der weder die Daten enthalten
sind, die vor der Exception eigentlich übertragen worden sein sollten, noch
die Fehlermeldung, die Tomcat nach der Exception anhängen sollte!

6 years ago30x-Antworten werden nun doch (vorerst) auch dekoriert
Kai Moritz [Thu, 2 Aug 2012 04:48:02 +0000 (06:48 +0200)]
30x-Antworten werden nun doch (vorerst) auch dekoriert

6 years agoDas Caching darf erst für cache-seconds < 0 vollständig unterdrückt werden
Kai Moritz [Sun, 24 Jun 2012 23:09:46 +0000 (01:09 +0200)]
Das Caching darf erst für cache-seconds < 0 vollständig unterdrückt werden

Denn ein "max-age"-Wert von 0 Sekunden ist ein durchaus sinnvoller
Caching-Ansatz, wenn die Seite zwar gecached werden, jedoch bei jedem
Request explizit nach Änderungen gefragt werden soll.

6 years agoSpring-Beispiel um eine View mit Controller erweitert
Kai Moritz [Thu, 2 Aug 2012 06:52:28 +0000 (08:52 +0200)]
Spring-Beispiel um eine View mit Controller erweitert

6 years agoFür Handler, die kein ETag bestimmen, darf auch kein leeres gesetzt werden
Kai Moritz [Sun, 24 Jun 2012 23:01:33 +0000 (01:01 +0200)]
Für Handler, die kein ETag bestimmen, darf auch kein leeres gesetzt werden

6 years agoAntworten mit unterdrücktem Caching wurden nicht als komprimiert markiert
Kai Moritz [Sun, 24 Jun 2012 22:59:52 +0000 (00:59 +0200)]
Antworten mit unterdrücktem Caching wurden nicht als komprimiert markiert

6 years agoTest-Beispiele überarbeitet und nach verwendeter Technik aufgeteilt
Kai Moritz [Mon, 4 Jun 2012 08:38:30 +0000 (10:38 +0200)]
Test-Beispiele überarbeitet und nach verwendeter Technik aufgeteilt

6 years agoBenennung und Ordnung der Beispiel-Module überarbeitet
Kai Moritz [Sat, 2 Jun 2012 23:45:42 +0000 (01:45 +0200)]
Benennung und Ordnung der Beispiel-Module überarbeitet

6 years agoEine statische Spring-MVC-Seite zu den Beispielen hinzugefügt
Kai Moritz [Sat, 2 Jun 2012 19:48:44 +0000 (21:48 +0200)]
Eine statische Spring-MVC-Seite zu den Beispielen hinzugefügt

6 years agoDynamische Servlet-Aufrufe zu den Test-Beispielen hinzugefügt
Kai Moritz [Sat, 2 Jun 2012 00:17:44 +0000 (02:17 +0200)]
Dynamische Servlet-Aufrufe zu den Test-Beispielen hinzugefügt

6 years agoStatische HTML-Datei zu den Test-Beispielen hinzugefügt
Kai Moritz [Fri, 1 Jun 2012 23:58:16 +0000 (01:58 +0200)]
Statische HTML-Datei zu den Test-Beispielen hinzugefügt

6 years agoStatische Test-Datei (eine CSS-Datei) zu den Test-Beispielen hinzugefügt
Kai Moritz [Fri, 1 Jun 2012 23:31:59 +0000 (01:31 +0200)]
Statische Test-Datei (eine CSS-Datei) zu den Test-Beispielen hinzugefügt

6 years agoLast-Modified in den Beispiel-Tests auf einen "normalen" Wert gesetzt
Kai Moritz [Fri, 1 Jun 2012 23:40:31 +0000 (01:40 +0200)]
Last-Modified in den Beispiel-Tests auf einen "normalen" Wert gesetzt

6 years agoFehler durch mehrfaches Mappen des AcceleratorFilters auf ein URI behandelt
Kai Moritz [Sat, 2 Jun 2012 21:29:55 +0000 (23:29 +0200)]
Fehler durch mehrfaches Mappen des AcceleratorFilters auf ein URI behandelt

Wenn die selbe Filter-Instanz mehrfach auf eine URL gemappt ist, wird eine
Warnung ausgegeben und ein doppeltes Wrapping der HttpServletResponse
verhindert, weil das zu Fehlern führen würde.

Wenn unterschiedliche Filter-Instanzen auf die selbe URL gemappt sind, wird
ein 500er-Fehler erzeugt, da das mehrfache Wrapping der HttpServletResponse
sonst zu unkalkulierbaren Fehlern führen würde.

6 years agoFür unbekante HTTP-Status-Codes sollte der Handler nicht abgewürgt werden
Kai Moritz [Fri, 1 Jun 2012 16:30:49 +0000 (18:30 +0200)]
Für unbekante HTTP-Status-Codes sollte der Handler nicht abgewürgt werden

6 years ago"Content-Encoding: gzip" wird jetzt bei 304 nicht mehr mit ausgegeben
Kai Moritz [Fri, 1 Jun 2012 16:29:14 +0000 (18:29 +0200)]
"Content-Encoding: gzip" wird jetzt bei 304 nicht mehr mit ausgegeben

6 years agoÜberflüssige flush()-Anweisung entfernt
Kai Moritz [Fri, 1 Jun 2012 16:28:51 +0000 (18:28 +0200)]
Überflüssige flush()-Anweisung entfernt

6 years agoAusgabe des Contents bei 304 unterdrückt
Kai Moritz [Thu, 31 May 2012 21:19:08 +0000 (23:19 +0200)]
Ausgabe des Contents bei 304 unterdrückt

6 years agoÜberflüssige Include-Überprüfung entfernt
Kai Moritz [Fri, 1 Jun 2012 15:14:51 +0000 (17:14 +0200)]
Überflüssige Include-Überprüfung entfernt

6 years agoUnnötige decorate()-Aufrufe durch AcceleratorFilter verhindert
Kai Moritz [Thu, 31 May 2012 20:42:43 +0000 (22:42 +0200)]
Unnötige decorate()-Aufrufe durch AcceleratorFilter verhindert

6 years agoUnnötigen Parameter in CacheControl.decorate() entfernt
Kai Moritz [Thu, 31 May 2012 20:26:24 +0000 (22:26 +0200)]
Unnötigen Parameter in CacheControl.decorate() entfernt

Der Parameter ist wohl aus der Zeit übrig geblieben, als die CacheControl-
Instanz noch nicht über die Methode CacheControl.init() initialisiert
wurde.

6 years agoInjection-Annotations in AcceleratorFilter ergänzt
Kai Moritz [Sun, 29 Apr 2012 15:06:36 +0000 (17:06 +0200)]
Injection-Annotations in AcceleratorFilter ergänzt

Ohne die Hinzugefügte @Qualifier-Annotation für das Attribut
AcceleratorFilter.defaultBufferSize kommt es beim Laden zu einem Fehler,
wenn keine Bean mit passenden Namen vorliegt.

6 years agoLogging-Filter in dem Test-Beispiel aktiviert
Kai Moritz [Sat, 17 Mar 2012 10:45:26 +0000 (11:45 +0100)]
Logging-Filter in dem Test-Beispiel aktiviert

6 years agoGrundlegende Überarbeitung des AcceleratorFilter
Kai Moritz [Thu, 2 Aug 2012 06:40:23 +0000 (08:40 +0200)]
Grundlegende Überarbeitung des AcceleratorFilter

Es wurden diverse schwere Fehler im Zusammenhang mit der automatischen
Komprimierung von Antworten und dem Puffern der Ausgabe behoben.

6 years agoAccelerationWrapper erweitert jetzt nicht mehr HttpServletResponseWrapper
Kai Moritz [Sun, 11 Mar 2012 08:22:41 +0000 (09:22 +0100)]
AccelerationWrapper erweitert jetzt nicht mehr HttpServletResponseWrapper

6 years agoJuplo-Cachecontrol-Filter konfiguriert
Kai Moritz [Thu, 8 Mar 2012 23:08:49 +0000 (00:08 +0100)]
Juplo-Cachecontrol-Filter konfiguriert

6 years agoModul mit Beispiel-Konfigurationen überarbeitet. Jetzt: 1 Modul pro Test
Kai Moritz [Thu, 8 Mar 2012 22:23:35 +0000 (23:23 +0100)]
Modul mit Beispiel-Konfigurationen überarbeitet. Jetzt: 1 Modul pro Test

 * Altes Modul cachecontrol-examples, das für mehrere Beispile-
   Konfigurationen, bzw. -Tests gedacht war, gelöscht.
 * Modul cachecontrol-examples-jsp für Beispiel-Konfiguration und -Test einer
   reinen JSP-Anwendung angelegt.
 * Testfall JspTest in diesem Modul implementiert, der die Konfiguration
   (die auch per "mvn jetty:run" gestartet und live getestet werden kann,
   programmatisch mit Hilfe von httpunit abklopft.
 * Das Test-Modul cachecontrol-examples-jsp enthält die spezifische
   Konfiguration für juplo-cachecontrol noch nicht!

6 years agoAlle Abhängigkeiten von juplo-cachecontrol auf den Scope "provided" gesetzt
Kai Moritz [Thu, 8 Mar 2012 22:16:08 +0000 (23:16 +0100)]
Alle Abhängigkeiten von juplo-cachecontrol auf den Scope "provided" gesetzt

6 years agoHttpTestCase in das Modul test verschoben und schweren Fehler korrigiert
Kai Moritz [Thu, 8 Mar 2012 21:24:03 +0000 (22:24 +0100)]
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.

6 years agoMaven-Buildverzeichnisse vor git versteckt.
Kai Moritz [Sun, 4 Mar 2012 18:28:13 +0000 (19:28 +0100)]
Maven-Buildverzeichnisse vor git versteckt.

6 years agoTestFall RequestSizeTest verschärft
Kai Moritz [Sun, 29 Jan 2012 13:26:25 +0000 (14:26 +0100)]
TestFall RequestSizeTest verschärft

Es wird jetzt zusätzlich geprüft, ob die Komprimierung korrekt nur dann
unterdrückt wird, wenn die gesamte Antwort leer ist (und nicht nur der
initiale Request, der geforwarded wird).

6 years agoDoppelte Dekoration bei Verwendung von Filter und Interceptor unterdrückt
Kai Moritz [Sun, 15 Jan 2012 08:40:42 +0000 (09:40 +0100)]
Doppelte Dekoration bei Verwendung von Filter und Interceptor unterdrückt

6 years agoAbhängigkeiten in juplo-cachecontrol korrigiert
Kai Moritz [Mon, 26 Dec 2011 11:18:10 +0000 (12:18 +0100)]
Abhängigkeiten in juplo-cachecontrol korrigiert

6 years agoGZIPServletOutputStream puffert, um Ausgabefehler zu verhindern
Kai Moritz [Sun, 25 Dec 2011 12:16:07 +0000 (13:16 +0100)]
GZIPServletOutputStream puffert, um Ausgabefehler zu verhindern

TODO:
Eventuell reicht es auch, den Buffer gezielt zu leeren, anstatt hier stets
eine neue Instanz zu erzeugen!

Noch zu klären: sind die im folgenden vermerkten Fehler inzwischen
korrigiert, so dass die Anmerkungen jetzt nach dem Zusammenlegen der
Commits gelöscht werden können?!?
----------

Buggy Commit!
Die in CountingServletOutputStream eingeführte Methode finish(),
die wahrscheinlich von der finish()-Methode des Wrappers aus
aufgerufen werden sollte, wird nur von der Unterklasse
GZipServletOutputstream aufgerufen.
Der im Wrapper entfernte Aufruf der Dekoration nach der Ausführung
des Filters wird also durch diese Maßnahme gar nicht ersetzt!

BUGGY: gzip-Header wird nicht mehr unterdrückt, wenn noch Ausgabe folgen könnte

Die zur Sicherstellung der Kompression eingeführte Variable forceCompression
wird nie ausgewertet. Eventuell ein Fehler, der erst nachträglich durch das
Rebasen beim aufräumen produziert wurde.
Wenn die Variable forceCompression korrekt in den Scope private gesetzt
wäre, wäre der Fehler früher aufgefallen, da Netbeans ihn dann angemeckert
hätte...

6 years agoStartskripte für Jetty und Tomcat
Kai Moritz [Sun, 25 Dec 2011 11:54:20 +0000 (12:54 +0100)]
Startskripte für Jetty und Tomcat

6 years agoAccelerationWrapper.out ist jetzt nie null
Kai Moritz [Sun, 25 Dec 2011 12:12:22 +0000 (13:12 +0100)]
AccelerationWrapper.out ist jetzt nie null

Conflicts:

cachecontrol/src/main/java/de/halbekunst/juplo/cachecontrol/AcceleratorFilter.java

6 years agoSchweren BUG in AccelarationFilter korrigiert
Kai Moritz [Sun, 25 Dec 2011 11:49:03 +0000 (12:49 +0100)]
Schweren BUG in AccelarationFilter korrigiert
Der Dekorator wurde gar nicht mit dem Handler aufgerufen!

6 years agoModul mit Beispiel-Konfigurationen für den Einsatz von juplo-cachecontrol
Kai Moritz [Fri, 23 Dec 2011 17:16:06 +0000 (18:16 +0100)]
Modul mit Beispiel-Konfigurationen für den Einsatz von juplo-cachecontrol

6 years agoTestServlet nach juplo-test verschoben
Kai Moritz [Fri, 23 Dec 2011 16:41:40 +0000 (17:41 +0100)]
TestServlet nach juplo-test verschoben

6 years agoFehler im Zusammenhang mit dem Komprimieren gepufferter Antworten korrigiert
Kai Moritz [Thu, 2 Aug 2012 07:00:01 +0000 (09:00 +0200)]
Fehler im Zusammenhang mit dem Komprimieren gepufferter Antworten korrigiert

6 years agoVerwirrenden Variable-Name "controller" in CacheControl in "handle" geändert
Kai Moritz [Fri, 23 Dec 2011 12:33:25 +0000 (13:33 +0100)]
Verwirrenden Variable-Name "controller" in CacheControl in "handle" geändert

6 years agoTestfall für juplo-cachecontrol implementiert
Kai Moritz [Sun, 11 Dec 2011 16:55:36 +0000 (17:55 +0100)]
Testfall für juplo-cachecontrol implementiert

 * Neuen Einsprungpunkt getAdditionalHeaders() in CacheMethodHandle ergänzt
 * Zugehörige Annotation @AdditionalHeaders und Logik implementiert
 * "Content-Encoding: gzip" wird jetzt via
   CacheMethodHandle.getAdditionalHeaders() erst so spät wie möglich
   gesetzt. Dadurch kann der Header (und die Komprimierung) unterdrückt
   werden, wenn die Antwort leer ist. Außerdem wird ein Fehler bei Forwards
   verhindert, wo der Header sonst wieder gelöscht wird, wenn weitergeleitet
   wird!
 * ResponsWrapper eingebaut, der die ausgegebenen Bytes zählt.

7 years agoAcceleratorFilter implementiert
Kai Moritz [Sat, 26 Nov 2011 23:03:33 +0000 (00:03 +0100)]
AcceleratorFilter implementiert

Der Filter belauscht das Setzen der Header und konfiguriert CacheControl
entsprechend. Auf diesem Weg lassen sich Java-Webanwendungen mit
verbessertem Caching-Verhalten ausstatten, ohne dass dafür an der Anwendung
selbst etwas geändert werden müsste.

7 years agoCacheControl berücksichtigt die Regeln bzgl. starken vs. schwachen ETag's
Kai Moritz [Mon, 14 Nov 2011 00:29:02 +0000 (01:29 +0100)]
CacheControl berücksichtigt die Regeln bzgl. starken vs. schwachen ETag's

7 years agoÜberflüssige Hilfsklasse DefaultCacheMethodHandle ausgebaut
Kai Moritz [Sun, 13 Nov 2011 21:49:59 +0000 (22:49 +0100)]
Überflüssige Hilfsklasse DefaultCacheMethodHandle ausgebaut

7 years agoCacheControl so umgebaut, dass es sich über Annotationen einbinden lässt
Kai Moritz [Sat, 12 Nov 2011 16:58:38 +0000 (17:58 +0100)]
CacheControl so umgebaut, dass es sich über Annotationen einbinden lässt

7 years agoVersion auf 1.0.1 festgetreten 1.0.1
Kai Moritz [Thu, 10 Nov 2011 16:14:45 +0000 (17:14 +0100)]
Version auf 1.0.1 festgetreten

7 years agoSpringframework-Version aktualisiert (3.0.5.RELEASE -> 3.0.6.RELEASE)
Kai Moritz [Wed, 26 Oct 2011 15:35:00 +0000 (17:35 +0200)]
Springframework-Version aktualisiert (3.0.5.RELEASE -> 3.0.6.RELEASE)

7 years agoModul "test" hinzugefügt, das Hilfsklassen für JUnit-Tests enthält
Kai Moritz [Wed, 12 Oct 2011 22:23:27 +0000 (00:23 +0200)]
Modul "test" hinzugefügt, das Hilfsklassen für JUnit-Tests enthält

Das Modul enthält zunächst nur eine von stackoverflow.com entlehnte
klasse, die es ermöglicht, Beans mit dem Scope "request" in Spring-JUnit-
Testsfällen zu verwenden.

7 years agoOptimierung in CacheControlInterceptor: unnötige Exception vermieden
Kai Moritz [Wed, 3 Aug 2011 16:45:19 +0000 (18:45 +0200)]
Optimierung in CacheControlInterceptor: unnötige Exception vermieden

7 years agoVerhalten bei Seiten mit in die URL's enkodierter Session-ID korrigiert
Kai Moritz [Wed, 3 Aug 2011 16:35:17 +0000 (18:35 +0200)]
Verhalten bei Seiten mit in die URL's enkodierter Session-ID korrigiert

Es macht zwar tatsächlich keinen Sinn, dass Proxies diese Seiten cachen
("Cache-Control: private"), aber Browser dürfen die Inhalte ruhig vorhalten
("Cache-Control: max-age=0" geht über das Ziel hinaus!).

7 years agoAufbau der Debug-Meldungen vereinheitlicht (URL steht stets vorne)
Kai Moritz [Sat, 16 Jul 2011 11:21:04 +0000 (13:21 +0200)]
Aufbau der Debug-Meldungen vereinheitlicht (URL steht stets vorne)

7 years agoFehler bei der Berechnung des Expires-Headers behoben
Kai Moritz [Thu, 14 Jul 2011 11:51:18 +0000 (13:51 +0200)]
Fehler bei der Berechnung des Expires-Headers behoben

Wenn der Integer-Wert cacheSeconds zu groß war, kam es zu einem überlauf,
wodurch das Berechnete Datum für den Expires-Header dann 1 Sekunde vor dem
Auslieferungs-Datum lag. Durch einen Cast des Integer-Wertes zu Long vor
der Berechnung wurde dieser Fehler behoben.

7 years agoDie Log-Meldungen enthalten jetzt auch den Query-String
Kai Moritz [Thu, 14 Jul 2011 10:58:39 +0000 (12:58 +0200)]
Die Log-Meldungen enthalten jetzt auch den Query-String

7 years agoLog-Meldungen für den ersten Zugriff und unterdrücktes Caching ergänzt
Kai Moritz [Thu, 14 Jul 2011 10:21:06 +0000 (12:21 +0200)]
Log-Meldungen für den ersten Zugriff und unterdrücktes Caching ergänzt

7 years agoDer Quellcode wird ab sofort mitveröffentlicht
Kai Moritz [Mon, 11 Jul 2011 15:43:29 +0000 (17:43 +0200)]
Der Quellcode wird ab sofort mitveröffentlicht

7 years agoPercentCodec implementiert
Kai Moritz [Sun, 10 Jul 2011 15:31:12 +0000 (17:31 +0200)]
PercentCodec implementiert

7 years agoExpires-Header werden jetzt schon bei cacheSeconds == 0 gesetzt
Kai Moritz [Sun, 10 Jul 2011 15:33:06 +0000 (17:33 +0200)]
Expires-Header werden jetzt schon bei cacheSeconds == 0 gesetzt

7 years agoslf4j-Version aktualisiert und unnötige Abhängigkeiten entfernt
Kai Moritz [Fri, 1 Jul 2011 12:07:43 +0000 (14:07 +0200)]
slf4j-Version aktualisiert und unnötige Abhängigkeiten entfernt

7 years agoVersionsnummer auf 1.0.1-SNAPSHOT angehoben
Kai Moritz [Fri, 1 Jul 2011 12:07:08 +0000 (14:07 +0200)]
Versionsnummer auf 1.0.1-SNAPSHOT angehoben

7 years agoVersion auf 1.0 festgetreten 1.0
Kai Moritz [Thu, 30 Jun 2011 16:24:09 +0000 (18:24 +0200)]
Version auf 1.0 festgetreten

7 years agohalbekunst.de als Distribution-Management-Repository eingetragen
Kai Moritz [Thu, 23 Jun 2011 22:52:13 +0000 (00:52 +0200)]
halbekunst.de als Distribution-Management-Repository eingetragen

7 years agoSpringframework-Version aktualisiert (3.0.4.RELEASE -> 3.0.5.RELEASE)
Kai Moritz [Thu, 30 Jun 2011 16:22:29 +0000 (18:22 +0200)]
Springframework-Version aktualisiert (3.0.4.RELEASE -> 3.0.5.RELEASE)

7 years agoUnterprojekt Utils von Fotos in eigenständiges Projekt Juplo verwandelt
Kai Moritz [Thu, 23 Jun 2011 18:05:46 +0000 (20:05 +0200)]
Unterprojekt Utils von Fotos in eigenständiges Projekt Juplo verwandelt

7 years agoCacheControlInterceptor prüft ETag jetzt auch, wenn If-Modified-Since fehlt
Kai Moritz [Thu, 23 Jun 2011 16:10:18 +0000 (18:10 +0200)]
CacheControlInterceptor prüft ETag jetzt auch, wenn If-Modified-Since fehlt

7 years agoFehler bei ungültigem If-Modified-Since in CacheControlInterceptor behoben
Kai Moritz [Thu, 23 Jun 2011 16:00:30 +0000 (18:00 +0200)]
Fehler bei ungültigem If-Modified-Since in CacheControlInterceptor behoben

 * Wenn die Implementierung von Cacheable einen ungültigen (d.h. negativen)
   Zeitstempel für Last-Modified geliefert hat, hat CacheControlInterceptor
   fälschlich stets mit 304 Not-Modified geantwortet.
 * Exception abgefangen, die CacheControlInterceptor geworfen hat, wenn der
   Request für If-Modified-Since eine Zeitangabe vor dem 1.1.1970 enthalten
   hat.

7 years agoTippfehler in einem Methoden-Namen des Interfaces Cacheable korrigiert
Kai Moritz [Sun, 15 May 2011 19:21:23 +0000 (21:21 +0200)]
Tippfehler in einem Methoden-Namen des Interfaces Cacheable korrigiert

7 years agoCacheControll-Logik in ein eigenes (separat verwendbares) Modul ausgelagert
Kai Moritz [Thu, 5 May 2011 21:55:04 +0000 (23:55 +0200)]
CacheControll-Logik in ein eigenes (separat verwendbares) Modul ausgelagert

7 years agoCachingInterceptor implementiert
Kai Moritz [Sun, 20 Jun 2010 18:17:07 +0000 (20:17 +0200)]
CachingInterceptor implementiert

 * Interface Cacheable eingeführt.
 * CachingInterceptor implementiert und konfiguriert, der  die
   HTTP/1.1-Caching-Header wie gewünscht setzt, wenn der Handler
   das Interface Cacheable implementiert.