Javalin 3.7: Das Januar-Release ist da!

Javalin 3.7 führt das Rate Limiting ein

Katharina Degenmann

© Shutterstock / SK Design

Javalin, das leichtgewichtige Web-Framework für Kotlin und Java, meldet sich auch im neuen Jahr mit einem Update zurück. Wir haben die Highlights aus Version 3.7 für Euch zusammengefasst.

Das Microframework Javalin ist in Version 3.7 erschienen. Javalin ist eine Mischung aus Java und Kotlin, mit dem sich sowohl Kotlin- als auch Java-Anwendungen gleichermaßen entwickeln lassen. Dabei soll es die Interoperabilität zwischen den Sprachen verbessern und dabei leichtgewichtig und übersichtlich sein. Javalin sei mehr Bibliothek als Framework, bei der es nicht viel zu erweitern braucht und die keine Annotationen beziehungsweise keine Reflexion benötigt. Alles gehe mit wenigen tausend Zeilen Code. Nun wurde die Januar-Version des Microframeworks präsentiert.

Javalin 3.7: Das ist neu

Die wohl größte Neuerungen ist eine Begrenzung der Durchsatzrate (Rate Limiting). So hat Javalin 3.7 eine util -Klasse für die Durchsatzratenbegrenzung im Gepäck, die zu Beginn der Endpoint-Handler-Funktion aufgerufen werden kann:

app.get("/") { ctx ->
RateLimit(ctx).requestPerTimeUnit(5, TimeUnit.MINUTES) // throws if rate limit is exceeded
ctx.status("Hello, rate-limited World!")
}

Dabei enthält eine Map of Maps eine IP/Counter-Map pro Methoden/Pfad-Kombination (Handler). Bei jeder Anfrage erhöht sich der Zähler für diese IP. Sollte die Anzahl der angegebenen Requests überschritten werden, wird eine Exception ausgelöst.

Eine weitere Neuerung ist der Pfadabgleich ohne Berücksichtigung der Groß- und Kleinschreibung. Hierfür wurde das Plug-in RedirectToLowercasePathPlugin neu hinzugefügt. Dieses leitet Anfragen mit Groß-/Kleinschreibungspfaden in Kleinbuchstaben-Pfade um. Allerdings hat es keinen Einfluss auf die Schreibweise von Pfad- und Abfrageparamtern, sondern betrifft lediglich statische URL-Fragmente. Doch Achtung: Bei Verwendung dieses Plug-ins können nur Pfade mit kleingeschriebenen URL-Fragmenten hinzugefügt werden.

Das Hinzufügen erfolgt wie bei jedem anderen Plug-in:

config.registerPlugin(RedirectToLowercasePathPlugin())

Weitere Neuerungen

Neben den oben genannten Neuerungen wurden natürlich auch einige Bugs gefixt. Details dazu und alle weiteren Informationen zu Javalin 3.7 stehen in den Release Notes zum Nachlesen bereit.

Geschrieben von
Katharina Degenmann
Katharina Degenmann
Katharina ist hauptberuflich hilfsbereite Online- und Print-Redakteurin sowie Bücher- und Filme-Junkie. Nebenbei ist sie Möchtegern-Schriftstellerin, die heimlich hofft, eines Tages ihr Geld als Kaffee-Testerin zu verdienen. Seit Februar 2018 arbeitet sie als Redakteurin bei der Software & Support Media GmbH, davor hat sie Politikwissenschaft und Philosophie studiert.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: