From 693005ca3959899e769f9334221a3185eed04ed1 Mon Sep 17 00:00:00 2001 From: tipsy Date: Sun, 22 Feb 2026 15:54:24 +0100 Subject: [PATCH 01/12] javalin7 --- _config.yml | 2 +- _includes/landing.css | 2 +- .../landing/section-4-server-and-api.html | 4 +- _includes/landing/section-5-community.html | 16 +- _includes/macros/gettingStarted.md | 12 +- _includes/macros/gettingStarted6.md | 19 + _includes/macros/gettingStarted7.md | 21 - .../2025-12-27-using-augment-for-javalin-7.md | 8 +- ...d => 2026-02-22-javalin-7.0.0-released.md} | 109 ++-- img/news/javalin7.png | Bin 208666 -> 319554 bytes pages/comparison-to-spark.md | 10 +- pages/docs/docs-past-3-13-X.md | 2 +- pages/docs/docs-past-4-6-X.md | 2 +- pages/docs/docs-past-5-6-x.md | 2 +- .../{docs-future-7.md => docs-past-6-X.md} | 478 ++++++------------ pages/docs/docs.md | 465 +++++++++++------ pages/docs/migration-guide-6-7.md | 2 +- pages/plugins/how-to.md | 105 ++-- pages/plugins/javalinvue.md | 77 +-- pages/plugins/micrometer.md | 18 +- 20 files changed, 688 insertions(+), 666 deletions(-) create mode 100644 _includes/macros/gettingStarted6.md delete mode 100644 _includes/macros/gettingStarted7.md rename _posts/news/pre-8.0/{2026-01-20-javalin-7.0.0-released.md => 2026-02-22-javalin-7.0.0-released.md} (73%) rename pages/docs/{docs-future-7.md => docs-past-6-X.md} (86%) diff --git a/_config.yml b/_config.yml index 9e1618c4..cdd0a47f 100644 --- a/_config.yml +++ b/_config.yml @@ -2,7 +2,7 @@ javalinThreeVersion: 3.13.13 javalinFourVersion: 4.6.7 javalinFiveVersion: 5.6.4 javalinSixVersion: 6.7.0 -javalinversion: 6.7.0 +javalinversion: 7.0.0 slf4jversion: 2.0.17 repourl: https://github.com/javalin/website description: Javalin - A lightweight Java and Kotlin web framework. Create REST APIs in Java or Kotlin easily. diff --git a/_includes/landing.css b/_includes/landing.css index 87fe9934..9833f4d8 100644 --- a/_includes/landing.css +++ b/_includes/landing.css @@ -72,7 +72,7 @@ header.top-nav-header nav ul.top-nav li a:hover { } .bluepart.blackpart .multitab-code { - max-width: 590px; + max-width: 640px; } .bluepart .multitab-code { diff --git a/_includes/landing/section-4-server-and-api.html b/_includes/landing/section-4-server-and-api.html index 06f9a1b2..2687198c 100644 --- a/_includes/landing/section-4-server-and-api.html +++ b/_includes/landing/section-4-server-and-api.html @@ -10,7 +10,7 @@ config.http.asyncTimeout = 10_000L; config.staticFiles.add("/public"); config.staticFiles.enableWebjars(); - config.router.apiBuilder(() -> { + config.routes.apiBuilder(() -> { path("/users", () -> { get(UserController::getAll); post(UserController::create); @@ -35,7 +35,7 @@ config.http.asyncTimeout = 10_000L config.staticFiles.add("/public") config.staticFiles.enableWebjars() - config.router.apiBuilder { + config.routes.apiBuilder { path("/users") { get(UserController::getAll) post(UserController::create) diff --git a/_includes/landing/section-5-community.html b/_includes/landing/section-5-community.html index fc0869de..3193c07b 100644 --- a/_includes/landing/section-5-community.html +++ b/_includes/landing/section-5-community.html @@ -5,7 +5,7 @@
-
1M+
+
2M+
Monthly downloads
@@ -19,28 +19,28 @@
-
8.1k
+
8.2k
GitHub Stars
-
2,396
+
2,466
Commits
-
1,141
+
1,163
Pull Requests
-
199
+
202
Contributors
@@ -54,14 +54,14 @@
-
632
+
638
Forks
-
153
+
154
Releases
@@ -72,5 +72,5 @@
Open Issues
-

As of November 2025

+

As of February 2026

diff --git a/_includes/macros/gettingStarted.md b/_includes/macros/gettingStarted.md index b81d0353..1d55d026 100644 --- a/_includes/macros/gettingStarted.md +++ b/_includes/macros/gettingStarted.md @@ -2,9 +2,9 @@ import io.javalin.Javalin; void main() { - var app = Javalin.create(/*config*/) - .get("/", ctx -> ctx.result("Hello World")) - .start(7070); + var app = Javalin.create(config -> { + config.routes.get("/", ctx -> ctx.result("Hello World")); + }).start(7070); } {% endcapture %} @@ -12,9 +12,9 @@ void main() { import io.javalin.Javalin fun main() { - val app = Javalin.create(/*config*/) - .get("/") { ctx -> ctx.result("Hello World") } - .start(7070) + val app = Javalin.create { config -> + config.routes.get("/") { ctx -> ctx.result("Hello World") } + }.start(7070) } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} diff --git a/_includes/macros/gettingStarted6.md b/_includes/macros/gettingStarted6.md new file mode 100644 index 00000000..14267a1e --- /dev/null +++ b/_includes/macros/gettingStarted6.md @@ -0,0 +1,19 @@ +{% capture java %} +import io.javalin.Javalin; + +public static void main(String[] args) { + var app = Javalin.create().start(7070); + app.get("/", ctx -> ctx.result("Hello World")); +} +{% endcapture %} + +{% capture kotlin %} +import io.javalin.Javalin + +fun main() { + val app = Javalin.create().start(7070) + app.get("/") { ctx -> ctx.result("Hello World") } +} +{% endcapture %} +{% include macros/docsSnippet.html java=java kotlin=kotlin %} + diff --git a/_includes/macros/gettingStarted7.md b/_includes/macros/gettingStarted7.md deleted file mode 100644 index fdcdf07b..00000000 --- a/_includes/macros/gettingStarted7.md +++ /dev/null @@ -1,21 +0,0 @@ -{% capture java %} -import io.javalin.Javalin; - -void main() { - var app = Javalin.create(config -> { - config.routes.get("/", ctx -> ctx.result("Hello World")); - }).start(7070); -} -{% endcapture %} - -{% capture kotlin %} -import io.javalin.Javalin - -fun main() { - val app = Javalin.create { config -> - config.routes.get("/") { ctx -> ctx.result("Hello World") } - }.start(7070) -} -{% endcapture %} -{% include macros/docsSnippet.html java=java kotlin=kotlin %} - diff --git a/_posts/blog/2025-12-27-using-augment-for-javalin-7.md b/_posts/blog/2025-12-27-using-augment-for-javalin-7.md index 87fe18cd..80208d2f 100644 --- a/_posts/blog/2025-12-27-using-augment-for-javalin-7.md +++ b/_posts/blog/2025-12-27-using-augment-for-javalin-7.md @@ -24,7 +24,7 @@ Javalin is a passion project which I maintain in my free time. I have a full-tim This fall, I started trying out various agentic pair programming tools to see if they could help me get more done, and the results have been pretty positive. Major refactorings that would have been too daunting to attempt are now feasible. Nice-to-have improvements actually get done instead of sitting on the backlog forever. -I've tested three tools extensively for Javalin 7: GitHub Copilot, Google Antigravity, and Augment. After months of real-world use on complex refactoring work, my clear recommendation is Augment. It's more expensive than the alternatives, but for the kind of work I do it consistently delivers better results. This post shares some examples and advice for anyone considering using AI agents for their own projects. +I've tested three tools extensively for Javalin 7: GitHub Copilot, Google Antigravity, and Augment. This post shares some examples and observations for anyone considering using AI agents for their own projects. ## How I work with AI agents @@ -40,7 +40,7 @@ For larger tasks, I usually spawn two agents: one to write code, and one to disc ### Code quality and context understanding -The code quality is genuinely good. Out of Javalin's 200+ contributors, I would say Augment is a top ten performer. It understands context deeply enough to make architectural decisions that respect the existing codebase structure and project philosophy. +The code quality has generally been good. It understands context deeply enough to make architectural decisions that respect the existing codebase structure and project philosophy. ### Automatic project conventions @@ -123,9 +123,9 @@ For me, Augment's value is strongest for: Agentic pair programming has changed how I maintain Javalin. Without it, the project would make slower progress. -After extensive testing of multiple AI coding assistants, I recommend Augment for serious development work. It costs more than alternatives, but for complex refactoring, architectural changes, and maintaining large codebases, it consistently delivers better results. The [MCP integration with JetBrains IDEs](https://www.jetbrains.com/help/idea/mcp-server.html) is particularly powerful. +For the work I do on Javalin — complex refactoring, architectural changes, large codebases — Augment has been the most effective of the three tools I tested. It costs more than the alternatives, so whether it's worth it depends on the kind of work you're doing. The [MCP integration with JetBrains IDEs](https://www.jetbrains.com/help/idea/mcp-server.html) is particularly useful. -If you're doing autocomplete-style coding, stick with Copilot. If you're doing complex refactoring or maintaining a large codebase solo, Augment is worth it. +If you're doing autocomplete-style coding, Copilot works well and costs less. If you're doing complex refactoring or maintaining a large codebase solo, Augment may be worth evaluating. Your mileage may vary, but this is what worked for me. diff --git a/_posts/news/pre-8.0/2026-01-20-javalin-7.0.0-released.md b/_posts/news/pre-8.0/2026-02-22-javalin-7.0.0-released.md similarity index 73% rename from _posts/news/pre-8.0/2026-01-20-javalin-7.0.0-released.md rename to _posts/news/pre-8.0/2026-02-22-javalin-7.0.0-released.md index 5ddae13d..50d9715a 100644 --- a/_posts/news/pre-8.0/2026-01-20-javalin-7.0.0-released.md +++ b/_posts/news/pre-8.0/2026-02-22-javalin-7.0.0-released.md @@ -1,12 +1,12 @@ --- hidewhatsjavalin: true -permalink: /news/javalin-7.0.0-alpha.html +permalink: /news/javalin-7.0.0-stable.html layout: default category: news -date: 2026-01-20 +date: 2026-02-22 version: 7.0.0 -title: Javalin 7.0 alpha is ready! -summary: We're happy to announce the release of Javalin 7.0! +title: Javalin 7.0 is released! +summary: Javalin 7.0 is out, built on Kotlin 2, Java 17, and Jetty 12. --- {% include socialButtons.html %} @@ -14,23 +14,21 @@ summary: We're happy to announce the release of Javalin 7.0!

Introducing Javalin 7 - (TBD, 2026) + (February 22, 2026)

-Javalin is a Java and Kotlin web framework focused on simplicity and seamless interoperability. -Built as a thin layer on top of the Jetty web server, it concentrates on the web layer without -unnecessary abstraction. +Javalin is a Java and Kotlin web framework focused on simplicity and developer productivity. +It's a thin programmatic layer on top of Jetty, meaning no annotations, no magic, no unnecessary abstraction, just straightforward HTTP. -Much of Javalin’s success comes from the exceptionally supportive JVM open-source community. -After nearly eight years, the project sees over 1 million monthly downloads, 8.1k GitHub stars, -199 contributors, and 12k dependent projects. The core module is just ~10k lines of code, -backed by ~14k lines of tests, nearly 1k full integration tests, each starting and stopping -a Javalin instance to validate real-world behavior. - -**Let's have a look at Javalin 7!** +Javalin 7 requires Java 17 and Jetty 12, and brings an improved +configuration model, a more consistent plugin API, and a cleaner overall architecture. +It's the result of nearly nine years of community feedback, with over 2 million monthly downloads, 8.2k GitHub stars, and contributions from 202 developers around the world. ## Hello World -Javalin's main goal is simplicity and developer productivity. -The "Hello World" example in Javalin 7 reflects the new upfront configuration approach: +Add the dependency, then write your first Javalin app in Java or Kotlin: + +```java +implementation("io.javalin:javalin:{{ site.javalinversion }}") +``` {% capture java %} void main() { var app = Javalin.create(config -> { @@ -48,11 +46,13 @@ fun main() { {% include macros/docsSnippet.html java=java kotlin=kotlin %} ## Building REST APIs with Javalin -Creating a REST API with Javalin is very straightforward. -Here's a complete server with a CRUD API: +Creating an application with Javalin is very straightforward. +Here's a complete server with an API, static files, and WebSockets: {% capture java %} -var app = Javalin.create(config -> { +var app = Javalin.start(config -> { + config.jetty.port = 7070; + config.staticFiles.add("/public", Location.CLASSPATH); config.routes.apiBuilder(() -> { path("users", () -> { get(UserController::getAll); @@ -63,11 +63,16 @@ var app = Javalin.create(config -> { delete(UserController::delete); }); }); + ws("/events", ws -> { + ws.onMessage(ctx -> ctx.send(ctx.message())); + }); }); -}).start(7070); +}); {% endcapture %} {% capture kotlin %} -val app = Javalin.create { config -> +val app = Javalin.start { config -> + config.jetty.port = 7070 + config.staticFiles.add("/public", Location.CLASSPATH) config.routes.apiBuilder { path("users") { get(UserController::getAll) @@ -78,8 +83,11 @@ val app = Javalin.create { config -> delete(UserController::delete) } } + ws("/events") { ws -> + ws.onMessage { ctx -> ctx.send(ctx.message()) } + } } -}.start(7070) +} {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -186,11 +194,8 @@ var app = Javalin.create(config -> { // Static files config.staticFiles.add("/public", Location.CLASSPATH); - // Custom resource handler (optional, for Jetty-free static file serving) - config.resourceHandler(new JavalinStaticResourceHandler()); - // Jetty configuration - config.jetty.defaultPort = 8080; + config.jetty.port = 8080; }).start(); {% endcapture %} {% capture kotlin %} @@ -206,11 +211,8 @@ val app = Javalin.create { config -> // Static files config.staticFiles.add("/public", Location.CLASSPATH) - // Custom resource handler (optional, for Jetty-free static file serving) - config.resourceHandler(JavalinStaticResourceHandler()) - // Jetty configuration - config.jetty.defaultPort = 8080 + config.jetty.port = 8080 }.start() {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -218,20 +220,43 @@ val app = Javalin.create { config -> For a full list of configuration options, see the [documentation](/documentation#configuration). ## Plugins -Javalin's plugin system enforces plugin authors to provide a consistent API: +Javalin's plugin system enforces a consistent, consumer-based API, the same pattern used throughout the rest of Javalin's configuration. +To create a plugin, extend `Plugin` and override `onStart`: + +{% capture java %} +class ExamplePlugin extends Plugin { + ExamplePlugin(Consumer userConfig) { super(userConfig, new Config()); } + + @Override + public void onStart(JavalinState state) { + state.routes.get("/example", ctx -> ctx.result(pluginConfig.message)); + } + + public static class Config { + public String message = "Hello, plugin!"; + } +} +{% endcapture %} +{% capture kotlin %} +class ExamplePlugin(userConfig: Consumer? = null) : Plugin(userConfig, Config()) { + override fun onStart(state: JavalinState) { + state.routes.get("/example") { ctx -> ctx.result(pluginConfig.message) } + } + class Config { var message = "Hello, plugin!" } +} +{% endcapture %} +{% include macros/docsSnippet.html java=java kotlin=kotlin %} + +Plugins are registered via `config.registerPlugin`, and users can configure them inline: {% capture java %} Javalin.create(config -> { - config.registerPlugin(new ExamplePlugin(exampleConfig -> { - exampleConfig.exampleSetting = "example"; - })); + config.registerPlugin(new ExamplePlugin(c -> c.message = "Hi!")); }); {% endcapture %} {% capture kotlin %} Javalin.create { config -> - config.registerPlugin(ExamplePlugin { exampleConfig -> - exampleConfig.exampleSetting = "example" - }) + config.registerPlugin(ExamplePlugin { c -> c.message = "Hi!" }) } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -255,5 +280,13 @@ If you want to stay up to date, please follow us on [Twitter](https://twitter.co line-height: 1.7; text-wrap: pretty; } +.release-date { + font-weight: 400; + font-size: 60%; + color: rgba(0,0,0,0.5); +} +.dark-mode .release-date { + color: rgba(255,255,255,0.5); +} diff --git a/img/news/javalin7.png b/img/news/javalin7.png index 5bdbff8950b04d0838cae36ffb2430ef508cbf8b..112a9c5c6fe523d0b58420e46d2db11d2e4c2d65 100644 GIT binary patch literal 319554 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≧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%0D{veeRjkL^Jd_ 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

G#>XH*6p>SE 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

#&N3) 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

X^rsdm^1INp=Tm*+Q#E$6>&UU#My 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∓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

Rk7eD?r)WtmGUa| z(5u==@I@};UeKfk7C9d;0B$p-t78(2%QAv25| zHL*w(54H!i_6@_M7+6~4lmThU!t5#)0W60T9Kuw530pZs>Jr-O zp9UpW7Fdz$o)*IjTxo{GybtbJ(Kgu1pgV67f3HI^cr4@|L;`4Ad)t~dYuehTr`y{H z1_!b4;wmgXS~?^Np-=`*jxU^!FB(>`t73Z{8cg2sWNftQ2`{@3C6F|6TUA5@SB{Sf zu%NpdfytJ(@zG-u#!8$)hn8!t9;QejjY|cle1?!C>r-G^mljtpN7+FuEI|@p!54%_ z_~a*VI~-7}toknc+8d5-`s6EadE*=3c*~hv&b;xKSKM;T$3On@fq{XK-$HdgpTJtM z;FJR^E$xSvj(r4`)7#A*{BcGT9*Xva2HPDlB2|^8^vu(W$HA(&xRtdsi!InoG2|6u zyvwC=b4L>UPz2>e@gBy_9Bc0z6?22~ zO6nZC8Mb7JJPqS(@#58}B|O;1;=}aMYGm~@WFU-seZ&=c<-nq@09H$5_r%I+dV|aH zbEl_K_EUrN#F3<>HdL)^Yst@+0x;R#g{DE4WAfb`84^B7wf8`L6M?jg@j>CB%wa zS=y)3ckhTTIj*7#X2oq-VBpWm=dV3{@BmN+NYN2IB6{+H?O5m-va#2HFHa`!#(Zio zwtk~FL6gwX5W1QMGsAjt-H0iXUu+1bU!wN-JvT4}FEsVF1V`aM%9 zLvl4#re9VlmWouuZSB>DfFH~iA<^U-HBllll+gN7Li)mknHP=WMV}fH+ZUTO7<{;q z&V%9Qnm&~F;l^hZ-~9jA$E>q^7_0xY&p!K{nW5b3{JPfKYp*TniiG&ylV8M+elw?A z3c`*8m;Zj==Lo~Z5?%pTA_B|T3P-6Hj4Iq=en8?^pKJh2lCCHwvBSTUEu0NlXdO&x z*BX7Td~2mV0F_0xD(+Q(Ag{I+SQ=~JNO7eiuGrJS!XHfvH4|P0uOztMaq1KdJ*t&S zRRXLa7MK;QpCjm=2iCFAyusi$X9=NFp*nQ2{uEIv!YV3;LMS%M?5IV=!goftryk5i zh{_m+(=>ykS&$TUkmk(d!M3?A^ z{o?|+4y*og>(OcoDQ6Y>#62`-rRZ|wDuzvG4MC?!g7=V?Qp~lpBOhL!nq0mD)5_vj zBo}bCvbtb|3SI@V^wGrRI%gr)A8Lx4Rkncm!vMUI-DkTjr#XfsbvP1m1%IZDz2J*m2xZW9UN@eg;;7pc^B;RtI5e@XT1Ll z-pzYUy+j8VtJN6nLQzy6hstop%T>3sTuSW|1}mPytVHk#!-TSV!{*_5Bwc;7CrZ>P zvA(#sva@}cD`m(N7+TmmM~H>9vEYZiYN$F!z=RZ5MI03}ZJ>Xz|C57*{R9@o7j0p4 zM+xa(Ncal1iZ56cldVlRUk+f=F;tDwzFO3DhAFkLB>l)}g(B{h+gLQPZof9rQq=SX z_XYDVVM#410!xb5v`YYsOLznrf>>9 zdGym??Byk*UMKb*jx5YBK81y)VQ=avLRiVFo==ijRh;P9S8UeJPIksC?zu%9Yj1E5 zz*>6v;9;LEglQFN!g{Ns%4M4oR)*X0w)U3lK$!=d1B>CYEqqtdj8>6;Wvue}6*}_j z$!kO0Yl0MVVC7XJmw0x|QfZ{PlUFpc7}^TGuoXpYn`)eV4$2#SCU+;2ML5o(`d zmUcod-?PG6NI=CucX4HT4zVgodnFH9v$+uU{qoGx#XK;a)*I%j2E9yImRD$6J%9FW zXM1iPv#XOM$RLFjL|5Ms*i*#N7?eCl4_O6 z0VG{BzA(nbF79!|bADb1`VtbX2sVtH#;f8re2V#__WL-o9I>uom=~5HuGlNEIJ}z3 zt)>)MVQ#$~R-qH)$9vRd@(1+?m@2-%@f0;&WXqa1dU{8WpY&M1+gAh@H72d1E?{;W zQpB0)5mF@9;ND488F;WY^S5^#8ui?cQ24vs$vsjwF|G4P=o|Y@uV)b#=V< zkAMCXE@5f-0<0_QOJ}dRGe|kHeCy_oDW%pXO|56Doz+PsE=+BJF&nVLpe-#1%^~li z=AQ?#UaQ_IU3>MI&JJGSs-6a~W~5T!Buy+5>roBB8mx%M%k=`pxVRQJ|HP+ZVi~jOHCCar+E{1`tb|z@5?8Li z{(cx(zr$B@@6ydtp_ zT65gC@zEslhrs(5GO=2U=PF~8BZewG( z(#zW3;NWfGYGvzTg}}jko)6tY3VjU* zmJ>_=#0LP@qpcM}k9*+{BgX@IzJ0eIP3+FXF?6{{n9_=-70z{+B-zV$h*RPt(n$=_ zmE->Tj;x&^70y|w)drn3>LCufD62F^4%#%S>k!r6M_54&`!i7w4Otk@t!$1kvd{N| z`Wq6yUjeRiJFlYC!>DCfrxpH^*)~IyPhSMqck3q{O}6*x)sQ)d6vv_KelpVSa;7vR zRs_v$Ja39OkX`BCaA zoxqUI&*l{CDUY4(jf~LF2hZf6tj&i@1$cyX(_Z<^KArh+&WNuD$byGUy^S;r>*9= ziNqC)x-W-UXegq5=lPLYVb+M2{GxFM=WqijdJDs&L4qy>=pp#Q^Yy{C+VpLZinyX? z-hfLu_kcbji_l=MG zDEzIkgXZ_maPas#H18UXi{VH>C2td|T{rPbgID?o%WHniMTYV##Z;v%b>#1wLaTu) zC6}(tQB0|)=+Sqfl@H@eg}FuPFci;eV)c%V^@r`$x%2!v|9`YP_psI`6%x>0zBKsx zPZXJq6?qNgU=>_K6U-o2W}*-@%c|C2r$e~)U;k-~OLP)uCbjCv>e4LdtKmgheiRXe~aolt1qG=rektXW~~VS&+! z#gANINi2dXRUk{b#Z$so`Y#AgEcU^xdpTaA7M4#D#s-AOD;_~3hKblg@f37WE}(aI z%r`6}UV=${DJ?rA@8t6g;0Pi1ZinF=W_jraPr|s0R0vNN>$Ka{5_Ht&1vtrt_`;#o z;yQ5WIAleza2t5a3GdE7Q3(`ghdwU1R-~S0Z zg>GVfvPxdL0Y#*QTI5I#ELvjycgd@*Z@^-rOBl%N$g!(bLS7cYB)p=}Nec@n%q#ku zx1@TnltflyMf{4iLeBse_rJjI_tTpA)y5-M4(28Kp=fGhm2{|2y3pyXmga6Na}wEY z7+CD^80icL3{^p_D?}E01b+ot%c{Ij$cfN!&jeWuKo(y`&%u_lir1CphhNI*o{0`2 z^)p1U5OhbT>Kuq=*4)`uB z*%3tZp|dL%Y7aGs*8SPlO`7klctslv+Q48_*p=`qm*;Mf3RqG0t#`*z`xncs^Ad{K zxtd5Wj`s;^3DMlXa^e|~$g}v6V+)D^R$P>!!LfLrD)9&X!BzC0OR851$%`dLUO_ob zCAW$*o_Y0;jg6l)kFdAr(e};`{yjxy;c1jNhv*9;ZM3Ji_hkPUKb;9;0U~6H@d_#? zqJgEf8uM$l_B-%u^1&L&aipacC2JyP6}qOtlEUsR;U1AP2xYTS!@Yr=a9-QqH!CWevfvEXcwgoGROZ zH5BgQ>;wymdcq7lc!a)eb!FyD5x)wtv<&2VlWtsvg>@bMb#o6#X=Q02Q+y5x8_nB= zw7M>cA(JRKk)-jHN+cY-I*o`qc6cuDlNa=qo}DnxmDpOQPKM?Eo>n2pv92hOFXtCQ zrI?a3GoF7B?0=x%cD&0z)egA5OEPxdZDHm*pKjp8r5w4D_G` zNIprJYAg&ai_E_vwfu?&E>CRLAQrf_zf%Zt8;XeSQ^k(11F(~xY;WUx6u^?42Bj6h zhV%nTtJ`d&QWz# z)9Ax`&s$F(Ol=#jESR-nzo-{WXeh=6R`80FVE~J39}&m$%&dux;$|Fc=r_OFJLL56n?+@`GDyYx93TXo!YKy^dN0IqRtX-IMqya#GsvHbLx-kRqU1;9 z6mKKS+!hmXQSpbG(xixn`6s_8wI8D5I;t0&HFU?Al9-lQTM^012djZ*Pmu=n6 z$q&|db`i3jeE5wu_-qC&_U{|_j0Q-f?w2(Ii@3tIIj|bof?LPX$-^@D=pv~QBMY^s zUSUb9%M^-cV3}h${N4lIC<$74#L@)Y7Gh3)yyNmyuv){F5gP$~tMRqQ(u<`qx(3IkbGKDj|ArPM7%YY=PXKBMpA z5&D*~b6COSL`+D923)Z~DOM;7u^M8W2jGHc@J@dCspxkzD@@NKthU|ETFJsFrz8&V zZwVT4#3Ry6q3sp*Bt;z2Ip#UTU(0Y61>p&;T^w)#;6>^?uQ2rGl8?`<&oJn9KMMXK z)nP^b%PX6+{yb_ar`Y01{lFEMvx*H*Cug2KUYhQMropFt2rH8@X~A~%&MKcKltwAA zTwf3t@PQD74Dr0Gu$equg;Vik?qcwYk7VQzd6N*#tgi40(YxDdrzgrg3LQ-Lw$wk= zYs9f4Ma!2X1+LI=SWKQbkqn=3swuE~j*pFbPUy+K#b=8fQMaG&X-|RWQgYcY6O5F(iG>nf2fB+~I=zJqrNEU{ z?BfA(6&`T)bWbJ*ZCbAj0PIGL3c$+2N@}-vbX$IC6IOZO6)r=Ff1%ejjVT`@5(&;3Y?-V>-Pv8Pn$?}k0%co*d_PwF~(a3TlbbX zER|~&ZBgSlCusf zzl0Zwx~)lc-PHU$=k=p9#R_eW^DvfxL=62-`Zu$Wq4HGpG!dg*aq zT=|@nQp;;L&?S_sN3TgK0~YU13M9WVaR`36rDb-JydtN++n#~f{Z zjJ~7tD>C5?OI{My);Hps0_&7=8BAe1NrU295G;A5R5>ffyAUQP zrf_C>g+re$Z>n{*lct#NEKE!-uRkQMW;|z=n(^>HIhU3m-QA%tNKH=Ay2{Il^^E9Z zfd`=#LhLSGpUTM`v8>=Qo8UI@V_-cUrP-kJd~dpgZeL-@gm(5mLl_BIiik$1u__Y9 zWagAJh|ird_QXP1ki5h*Y$&5#e1s#nvf_y^uEs#Y#8dr1nt;kHi?Lytlh1_)vI17- z^>LJ!LnKeFIe z_=6OkL5AAz!nzVawbF)qE*VP+Hy=rX)yA{!6gR~=bjUnD^9p%QeMFDJgH(d6D20VC z1yk4ZBM_UO3PjTxLgLOExO1QGNxi?mfK)R1sHbw6M%0%*WgLlxdm97CnnvVRF>h#Nr55g8 zxN+d-sbz=A{bKZtVD*yY&57kjNoh+tsCbPKRs|aGJ^8`j-rlWeBa07ycjHG#k6^E7 zZune)?E%3r{QT#Sej7EgcrkwvnpY zRvBRN+())8q3l1H#;`(Wvs`gS5DQ9k8{93NaM3M%=h>!~aroaA#uXbq#VfRWQf&*e z)VxAJnYEM@MG2cI9b}&6Jw!s!UW@bv9+bXmV*+kpm{+k&>%_(k-{*>S3j48>tBxd% zV4---h9;rTOu3hsx2{aHG_BO_!^NdHbL)f^Wabrd1@$d80aoY)qstm~2c+Dc@&Fcl z7fF=>%Ysa9VtKD!AnT=yG*Ttm%iowdhB#FOW!%faTtlI)E3+=r$9{2Ub)FdSVJdB? zDY|+-eIh%Jh%SKj#om*j?Cl-h-Cf+eePjOeD@VWzQU$=G!vtWx@7u7#zO6=9?|9W< zRn?>hbduSg74EnK(4=)1P>vn;Ra6#zsaTDxs5uSzC<5cQzt-^2xTIt%B3OuxJ^ap- z`cMt1(mh-Y-3WMfK`C&;z{=)0z##Zn{ zZe>N06*IT&A4INg{@R%f)fP@a7Tya`b$1J>3|I~w`gt9VKs$hC7M9yr=noyHXV`qQ z@Xf=%`E!8k1z;($m@kSG78Yw#xl8C>NIfLaBVtR9EK9OZ)3F-+*DTP;S_zjg^ipJT z+HBJ6E9Y>9MqI(V0=HI_Hi4l?u?k-4NZ-aAzl0+2lq85o5z!H~tyBUlTu3Xzhf>B_ z=jD>&M0ynmhY^{1xfvI4E3a#>MD@uGK+_tWUd%^_s$ z`I9}J?lD;gRz$3{JYJG);Fv-uJr7N40Hhj=0sk9{2q4#ds=LlHyyQKvdB_1iHmD!> z>Boep&C(?z8$LC*c(2G7V)a+YJ3E!)?3(M#Cy%2Pa_(twwE|TEtdqSr{y5sx(=-0c zkt0Wjj})MTtt|y5NDJ2G^z?k}eMlhfKVHtMN{29sxPLP=56wQ19A(#F1nKKtZGmI@A4jnoG9fBk~oeJ*`gJZ~VaCgwKW%d1hT8Hy7tgx^sjIv|l0HrRW5zD_mk&hL`a*c>zh&`!B?tM20 zrR0)-1z+aLDUVjAhLvbup?$NVKXiElpDhS`CCdNLoqT zKZI2uwV0K-fnV%bCMm71$D$UCU0DW}nJrlskxgvMDuoEI!KN6=IBp<)*#TvTHXfu` zuqq*&lF`Q(->oq*v#uOo(NkHg%U162KVRiD4OVHDUFYRW^+!n{zA3Q!-#-W!FnvZ~ zRSB#?1l{2=e(J=DZ@+>W!S{Xk;6d_2i&nKk*g5B9&*fLXeF^4O5DUW^4(2r26yb0M zdq&CVMH6cP`|uomZ+9yy)-+ROVF?NbVHkCQTW&!J7sw?Q>Iwhl5qpQD$Lfp_Q&H3=WW2 zb3v@heceLJwr8GLfLnNf#eZ-Dro0?hji?p5lx5YXU`nxtF$Sw*UItSnSqoixmaLB__BrdCajkXDqi3gQYJzKZHG;rxYkDlk}e)-5d4 z90Kh1TYyzaaE0a?pk4@J-O@h$Jv?!ori8D$yXqrcZO$zWt8o2`h?=pCq{LIL*az6Q%d@b)RVxP8`zxOoLE39IaoSClNJ3|Py7Q>RssN}h)zO*C+o zLMwVmi@z{A%l~7j9ULR8QpP57LxWf@lyO*y9SwIS4Ib%T%D{IB zs!|nTp>eaDLR*`8dM{O}L(s-5Gpz?GM@ZyIxxYt)>s5JXta4@jxntC;r97~VSMg&h z`*7T%8MP$A-F8pS_=NeuyU!BR$Z}w%QFkBn>(8>|MyvpqyM;ll)Wkxge)5jT-oKmV zit=F70kf>Q+p23(y9i&oi@0g1vdH`5T*J1~?#hf0{5Q@@-}~Qy6)6mG=oWMP@!-I^ z8(kINAlpOd6&s<&q$^*r!=9IssX0wV-9WLvM*Ll%h1XX#qsq)Gp(=*TSfuP~>H@tz z2*g^trCO4EG#>61?jORsRqnk?iBHtoKUPVCSd>+0zSs~etWX~+LBeZG9KXO; zMsX8QaFR~s6?E5KLT4A{KPNx=c&6HNaWsoc{&E&mQ>!X3H?ADUK3&LOqwf7+0xVBt z&f9~1fhF5_9IsSqVMXAb&pZ1SSmT|Z(*Sdr(RwXjGPV$~#$cV*0mC?DqA@#0sfl@kjsOT~+o;>E}*mB9~i+#stY zrp9AG>B4RsO6)EoSe?fi+3vxu)i=Z?7thkn_MU15Z-j6c>KxaFFAgjz{qXrCbi}|6 zunN+|Q4R?u1(rxd>ALxZ6HEKJR>stdu5p?Vph6V?|IopXLbn9b54@NXmE8@3YIuq& zr&pH*uOOo1&8}04T4`S$27?ZHnrMP6r`|`*ZZjsn>WiOwI#;VuzwuODy=)Q-dVkuttmrxS)k_uKAqTAM3chGF=f3|%H6_MoXcku z8u=*tkUdKR?@_)1;!Q}``fRL1ERHuxbi63T9IYyc6+>QD#i4<#k!?$3h{Eq-V)5{I z(km2bLA(%F0FSGVW+@7GamP@JMe*vCV&h1RQ&8hX7-8l z;0j<#!b4IWE8N04aEh!+<-1#$^c^#Rl@xmL8V(d7gn2>Bx-y2*_(DtN+?qw%dflyL z{kw!!(CRS`X^)95L6>@nXy`oAoxn2j&2DOy5l^NW@o@nbOXc>sQ6(Yi2C+s*r>E=m zs|YBCl}m>Kr;x?a12T7mGBPk$sR8CjlU=0`Z!kcY$C;aT11&ApdcsW?e(&JZ_i|2Q zPWU@vM+0k6YOeKnD#CE_YNU{3%Y#+Jl}f+dD6VwaThl5r$MtgptoM};a`6mT@)bHX zgatDz%82UBUk%fP+!4Z)+Y!NPV9ntruffE^`;dQ%67m15Iuw}Q-HHnI5=9D-Pz@iD zL%R=-*?YjN*RQ=xT(dV1cXYh4ET`mb%NtlB1y+~aZ=T|Ah)Oz`dp0%L*sUH$7LEhh z_|J$Hxed9w!UzgwJeI^QWE^WTn~>$9>e=TY*7M2CcG0Aj8BVbu*hU6dT2IS8!Au-} z({^N)DAr{BR!s;Md;aOr;p?c8BNx+}Ni(x}%TN_h-bI|t-;J%V7j-rrVYv%WrKG$4YROnLF$p7hsKliVuWgUdbV^{z?T=cML34Wlzn*D)%_tdd6j& zE#L|UmVxS&oDQNYqv$*%|B5GQ<%F(-^JB6w4Parl;eq@b z8BaJ58N_fxcCVc4=2B;D!ElWLIYtA^D~`6Z)A*G~Y% zB@%5*Rx5)w6Lbp2P0Sfe=XWlS;u02CJ}>K`+|A$(hAa(-%`IykEfWVmTwFFfZ!d&V zg#l!vc$o5Rgw)?${_d@e1XO5|slXUJ&W2w|O)rsCPAnNt_uX2;m+}4d38liyAgkrB z*;?itu*!XVqaL#&r*N_d4g?4$&qvQ?F9fk-q|tTC2inIF7k`z*rr~;xxmRFFlmQ8Pdn{$MIMxNIcFNa271SmYAUe46OZ)W8w}63tQ#94t9- zg@j<_6@i7hI(UQ~nlIX#>^VU>u&4;wN9QOc(#*mNR&ng&C=aZUDzE}sfvtpCVPnlj zR5)KCE6pKQUa@-yV!bmVzSErLu&3VO22Tj};4x5wc^~hK?G15kTuFJA;wb@Dtc6Z; zOZ9O8%6f`iN^=%Wk^X=-Gq{rJIN=e?$s2Z+r<#g6|hA!^6cPwXoz6eNTT+w$RVn z%t`d=g;btHdP#{f3=@mQ@`^j60Mm8x^xj{g^Y~(!p3C5sIED5~Cki!`S^+HXp4xT_ z4MN17xMBh+3C6iUWmP5UgonJcg<4|vQ1?+zK-JzXyPd>>m3KHOq3noTcIFBOoup-N z;nv<1U@?I8Dm_B{_qaerpK28JS%|7DG2n7Z4i>;7q^vopf?y;T%_@KjL->OVtUJT! z&Yi0c>@}<`CL!n`Ayz0$td%A4F9 zaxdLJNu58H4}(?gf=50GIHkH_Pt+LL`u=afas(wBy2TtaZ|#&u z-*L#KA3uuXyWKZURKa=>wvEMJbXr;kRsDy9$ha~*eXc3o3oL2qIiAzeZf z{sen#@F`Y5XXW`<*<1>o7PHDHjGA3_n8<=aEv7X9R>RP_O100C#qhfxD#XaM<@})i zGqQA+&wv&CaLHsL-NFessPxzhQ_6v*eUQuo@H}`6P-*BL_Er2gq2{xL?6UKn>gVFf zDV)9##vyTQJq2ECHn8(j4kHtbiYwNmQC20);=Ok0YQ?6k4IL3$Xe$ zkYz)w-KTGaaKSpBwK5$Ed=)>gs#OTA!RvW3<~}wyEhY2(k$Zwkrh#H4F{9YuzJ1%N z(_Bw8IAf@)KCdCKJmqYD@kOVwT!hNWFT%q@`tBEwx^w8)OM|0LfJI`#YO09Ob;)tX z8C62dlj36~;fL`?OKb=YR;#wb1C7_KohOeTDYS_Yw1NplC$7zN8u&23$T_^eFtKvt zr%|PN|Gf70{eacg-1EzX-NUB~I|w%{FiL0e=Haf_c_B3<$N-F?9zRs^z~1_p{3kQG}_B%yaS-JpW` z4GXO6B!%u(#;m}YPZGvs-cU5P(A3PDWYSema~V%C!!LLLbQBMHhSmdC5p;KIrTOeL z%Zqe&4Ol!}v%nQ{M5%SzcQB;RAA9ZWkx55Fv!In6ySp12eqS0?(RjD2g{1FTV0=h*V)-t5yGi7y3S#Qn|zR%NxaSn zqHGWnQqAwpM_67?wh%BFp?m5~MN$IJG#;Fe9DC|In{n!f{wH!cKiEI2^vwec9wGmR z{zP2VtQ6@NU|T7)=m`e0kRS?<0B^mCiG`rO5vyG5f#=wBw7ng^Anhw!L+DI|Ry!{a zEIA!k>~fZtBaAQMC!PWX1y1ek8O3UtTSpRVbr5ShJIH)dv6_(FZ77D2cl45=^)*1S1aW|9T%JCEhV!Wq(!2E?+tz)p_NXRv@AMSAOnCH(g{&9BvBjzK_X5(}!oGR(jfRHccf%fw{`4~A&r7a}~b z5a~Z5_nvcgyjrn(>5RIccz^qmgTzt+=c#tJs!qw6vw0XftNcO+j#c*!xraDI*a2s3 zzi4}Vtac7!wUbv)r7(M9ouD?O7kY9_-_+gRb_#Y(QFwI+z`BDgfb}Xp!Zr|#yyAR< zr9<$uCS8w+3;TRUcfW(kDG;mS6haMKE3?5DxuwJcunH}pm5R~#v1xG(Q%j3u7+F_B z0j#jGps8E|huA%kHL~7$KC!V92H6&yM6B|mEg_Y`O0QcwSSDu-M@G+39~F6+QD#jB{nUD2&+7l981X~d#YU;&63@Cw$~L|VPk2` zU0B7F35Wm~4J(SoBCuozajZ&W4Il3j_XkW;4e^^BPLsvlQ8~Qsk8W6gd+;iiV=DFO zY#8?mdt?}7o3EEi8h^KOMmwWl+Ry|Yw9)qn+WyL0>#fRx9oS}~S1cSL@aGkAfV z3KfY;n7%nwRiqDIiL$JU4oNmLD3nR{$$Y&e$2ZHb}x$Mliqgb%Jw9#}M>tMr=-tbB3$M@DTy5oiMWkOXe14 zwUD>M99mr8v%QXZlo(i+T{Td~;X!w1N~7mOLkqUcNLKHdONe>GPbskQ#gMPorOcPs zfVIZwdo1G_1{N9_kV`|q4UEM4ngmHHn4aRu$=|a#HqXKB_=u0a*HPn-E~`;eJrf}{ zzy4g_aUBik4TCN(^JwKNK%AG*=@NM1z^e9Svi|`i?L&jZ%96^DPIN|6=^#H@QDXIX z4t|2=6lBX$!m2=aF^+{VITEPQgJTLJ%XzPGCA7pEomnvo!MqaK@^>#K>BSs2AU!h`d@^KHJ#8VtqxzUdpiLIc}IW6Ija45(dg<*zrL;litHvNrAtZ zCk$fwjTdhSbI~;tT3wl0mn^fDRc1LfYAJ(Pfvd2uY(Sao82HL1!~2rN^-PWx3ywm4 zHJmua!XmJ4nU?yN%rjJAQRDm?-q-`MRJBq2QU|bV{Kj20*NNU0-r-rWk^)b%Z-JyysuVbVw4YE#M5|1 zG$z1;iDk>9l~-u6vLaaJJh^ltD28&S70AL^7v2p*S(vJwyFTNhf_Et95rghC?2 zG2sH&uK-xbUOoIef>^I#gMkG{5X|%)Q*#0LqB^DV)KcZSeo;W=oD4UmiksmJtn9CEOb-=t2zn>0a#s! zfrYn{u1+sG>cRuR*Lx9u}wY1uFz#u}=?A|VZi z_$z4(`3-(;c5*?(c(hu%;L`}HBnhiB2D9@Im9c?p^|I&x3$d&ZG`*kECNiX-n?!q+ z_sbQ?h*hb=o`Owflq%|mguH`us0rx=50E6Z^0m*E5MK!i!)RYAusU8|uP@Yrh9s(k zrBYP5%8b$!DampzNtnLvwYRtbie-zHCvX4bjo~{Vy7ua;`~`Sa=*A`CxV31rD>n+tNf(CEOujWg+3 zX(7_AnYF#Cv{DCgfsw4gO*M9Z$pUL-c|9!wkJJFqe_x(sQI{w&I+N^%8VWEO*F0!t zGNk3QNG;M%={0o{mnUOgcht`rK|>k?mp9V}+gQz~yt|ZQDYu+iamiE5XB8J#S2sNL z4&BoF?X{XPtBeN0zyh)^2(U2b6>XX!tcs*@^P4+u7FGn_gI5=20&&P`B>;$EI~7-f zRk(&GHM?@cdy_yqKc;c1TFcNV{}2gvDXuue%YiJsS>DZ7lY}JDpsYS&`a97iRBMYD z8JX=>uT;2VI%8tp@R<9L$SWRTLwRUzkQSDL3Q}@W(s%x-F=aO%+x>SA24bp3R;xM! z$4xLL3vD>!$&n^F5It&NkymIbuZBe!@KoQiLwMyggc%+2YqMl59I6svB!Mh-5TlG} zcL}DINsX-HTie_42`iPKzWtA%o%;}gb&SC3dJ_>WE+Yi4a^?D5%E5@gr@ZodS+Qx( z3m##dou$))A^?QOIs?moB7zop6rmU+N@~Oh?a2>zN6hiHS zD<@WHRnr)_3)loG)m%HltAtHHj>qv@Ag8&Ah%8TFH%f)s`A)1zz!vO-}SSY`oKQ z7`XXo3*DpPi~6hOb)CHGVPs40banQg#OV!IVQ7(8sEu5!xGsDP23B4tPAIWHJ_s_Y zH+TF;of$u|VGXr#_l82N(5WapJs*u-pMfg|-&+Je@|iJ>MW(zWr;JzztTt6kuFU9> z_C^rvCN4R(b%cPgKvxNc{YWSFf~!I|1>Rs-{@D(I^|eaz4}X079~aNv`OwW*kA3L% z*Gu3FavFdvbesl^#xoSpP z>vTQR-PzbRY%EC2W4dQ(GQ&yINLgHg&4~qpSg7{?+_wak#03Ve8a4h1tCbCYj?&1L zs{t)sj8p2kIjX$NmLCl?H5ix1;bS*d={feNS5Px1Dyhc6aka7RNusMGR2W!j(gm<) zNh~=WPM(jISNhtB{K-$0Lt5dg58*2U3l|>cnga_7rFavXYg#Bo+leODsH|PXt+et5 z1D4iixxjZRum~qSW$#7TRY9w83h(CS)cLOYceuAf(r#2*s*=)`k-r&z5)YCEx>{&_r9a=K0e+LN-45%VXq>wEZY7euZrn~*;fUAPg`kcwdNIB z4tZdijYU{B@KrKk@u%VuPqDDbmjm5xm9K1Jo3h2XpHx~Ze|`JyGJ(a!(QBkkhpl#2 z6G`@{$nTW;az)WVEzH0{qU6?mLK5phfxoW&!nooudRT&31XfXz74krq@WEX|_5rMj zy&JN~E99orF>J)M7|0^ArtF=QtUg1nYwgh}H97@aL1Y!f=;jBS&o?7X(fc`vlskfu zjAnf7gd^-id=P!W3*y4&4OC)QZL`HzW)!xI(DE}gE3mFi1}gNt$e~hRSyP2i7?g^; z2y+=ErSd}k7GqdvrZrL2EG*gE4m%Qx`UtGh<7vecH86UkZoneJqy+h>)xBf4CTy!A z)@8G7!6}kUFNxG6%%`)5X@oJ+<6Y29?~8?^{3)ps##dc;WqgB;A*^EcyetL==%DzG zZu=~uII|~eqsl7>)*3!I&mbN@#K@dZI3VCYKFE6RZie!|-gPyuC&!tSCDleDwX*s< zomecURT06y!q!;t?LKm(efZt)KR!O#)AOUt3|;}Trgor;4kIqYxEiK-olg8`B#~r| z!o@_G8MFd$B7~K51lwaA>JT0=Hy(c`VZ+Y@Rure(s185DkwXVsmfqUkeKxze_;&!S zy0y(&!Vk56r0eyYz?E*6(^~SWz87~_wY%m8W*VIV3t&QrQ~F#+gIo@yZXbYU8>x1f z2w2A43dP}bgx0Vw!yH?B8Wt8$&2TVeY1!llsgV`?Q>Z+YwJl~Av9*IF(r25JXi8ow zYL>wV0hMPtY|#@GU73Rq$SVel8!g_92QCbgJ(aGXrE0$}RLwO}hhsBrXhKZ*fDsI(S`0qhYz$(zqNzRzxz9j zi(5~MZRNjje+?*rGk91lUXgeur;cBfh0`(V=$#L2A0308ZBkE2`5?8h4!=p$%9rL) z>JoNPjKt}TCa62CQ7l7Nc`u0N%%YhUwGv`aDpwEgcga#)zJ4XyJ|&030h@^ z?fvK64Wwup!KlKsh_)M(W|UNTrxGf`7yERoFw8PP;}P$4D-424?7>X}i^7vg-Ctap z(*o|ml}r?(u}fC$SZ61-!-f+_k_VsTR+IpAvvguETOLc}R>ms@7ArMeSYqzgty>py znEUvIK`U2zDDEnDRbpwLy8x>!z`CA>tWx*uwqGI#D`WsOw=Mt{j$*u4M>V>y%tv;q z!Hna0Uxf58BFJ=+^Mq6_!_r^kmtmvWua)=E|C&uF3Cpm71Xw&R9iC%qlzv|P9qnDu z>xnhaNIVX;Z70|QPZR*QtE`dKw!fpz(ym{lHi=Y>)E7LQ_8HKC!X zMqVg*1r_+Y0w9-~SDMfe$ylZs%OY#2rIj`sIlwQ^4Gz@%o<(D%Dt?cp3r7LqNvMNukxI2~ts{mR-U629` zW)^HL6SLmNB>3)gcMT)!p6~v}J~k~>L+b?_%fj!pvIqhY3yYy=xu}p}1GeJ5mLEDt zDXPS}nu9$TQ-OG3R+c|8cqZEs;#nA46b6yeZj$%-m`)%CvWjKpjN;WrTrrKoBkhD# z;L7BvLMInK*-_KVqVFo>7CTp@mnyDYPqg@`SXoO0D!3D9xWaDg1FvXfP4fy#p6Syk zGkpo50#~j96u@#|$Ozc9SBT&-2h z{j%0FETBtLpA^8V^0yH&0fFMS_n_5vSYMxL7i?JAodBUjsLz5+P~0TI>VSPFk{=Km zSSoDQYIhOG3Ub+_wl+Rw(me-s3Hi_}-yrTT%qkR%13#O<`q;!F}pE$YrwQyL6d9o>w-m7G`X z0b>|hYG=s?9|IbE7i8&(VpVpEQLG5QE3Yys4wmE~7+_PckX8LA@{-*56tWBP)IC&6P+w=u-V55pn+e`;i zTFD^Qf?aq`{6xc6-XkQxq#uz#(zN-Q2r^A;<`ud!n%+zcrC?y$yOxAl8*jM_h|}G{ z2x9RWh^1BB>%7H-dRmn@Us;B2es9!JrM*EX*5#!vKR4tJE`nHO~Y6kK4KCT8ahe$2w`rp3Sn)) zko>JVRfcT$jvm@aAXemz=nSB^&OZZQ7Bl> z6`JuXwXb3rlJ$#OAu~&XMIAVN=)j=^h_w?};1%_g`@Zo^gyRIGJyk<$%4Ut#O%4i3zj-IQa zC$eB<*)A0hEV+x-I;55vSr06YG?qB~x|=Ctz!Ts{{`K#F%T!@1d{7}p^JGVVNGU@BD0Re^m@vq}WNS=KY4Y*M$lJr&(o|uOaykw6$Phkyja&YnL)h4nd{< zDp_A%8&J@jYBaC#>ZKPDBS{aJuxU#o1Zzp(*w~;x&)ns2M zf>(hx`(WJIm?10(S6lSVGn?ps7)h#lH)2^3(Pb7^iK3B(*3DBwS>hE|D@2wOt8OXp zxP-#YqHMzOfd${AwBMA9AkZk5I)(rK*Y1W=iYJdr53@5bm9chl1JTX!A}sgITVf zkqIF?4{I}?t5C-|pnIEZiaQ0&EMc9q5KE-n>&)!#K5<(LXH(Vc{Pr>+&mXr33@EMY zduvFUux~MtB@Yc)HGKcW7gVKgor&BEMc|#1o!RTjCpk6|g=gv)hlYmgr@d(41y0aG zYeUuQ5SX;DjWvkhx6WBY_Y{XD!AwgjM~W$Rol^~2VpVxm`#ZB9VQs9eXlDn$!QKM! z%cE*xMa+IIm~;73&*1S({jVG>9X!Z%sUtM599l;teG1TU8!Mba=T+)07BxVY#@mnF zB)49s_UIEEi_t6fHi4_L)7yx(M~S2R8(WXwIM+7(+uyQSgI16^WWZA3Gy_)Pij8k} zNZ}G3^Pqbuvpz@k+wXTU%k?9#@<-CbGGKL4Ko)@2g@XnbIyi+#hbu?VRgwHYOl#DM zMY*9x$u2ma{4TyBah2a|l{jz|Y%|AU0#4yOn;ULf@k5F$TP`>!$Re=B+%n-IwXPt_ zDN-5;Erz)8zFcLjK-HvMfDK}8qUQz2wz`Cjy75HWz-3tmjnLIp4plxjSmixKKNtKG z(BjpJwKKaz+bXixH1e-mSWct80pJRdEHwXSglpjiPS3pNSF4EW5^$(pZB%qwZYFHxqP$)UYV_N+;TKIqSYly)qu74x4zk?AE7@Tc zN7ffKdO50m18E-zwuD$zFidT(1XpNOAnUi^{LQH@K_e+;i4<3U<(a1! zyHw=W4l4lSPqg14N?w3p%))YF0Zpk8bVuw8;dNg4CIV~Y{`0^5ZT6O0STEB+eO{8_ z*{1oeuOs0!gs~c81c`78(1h#g2@H89`BrjC^d%uzUCfCgzWBQrK6?7hg<1s;qb7x; zUARkA?M&5H?7<(blXQwG?foh>zt$uXOCO&uSN>FlMYK;Q*$J|Ss8RDOGNG!MnV2AH z?xYo48KJRhQt6h$qbww3OE7m>eL+lFDi5{NN?$p+!ueIQoNCEpub zcvZ*LVU}2yZBAaPU+9WJ7Noe+e)T@8Ca)~3ZH3U6n^B;S4b>fFBfwnl^yOVb+(sme znGigvfY!3-P*4G@MJl%E(QH@rvcoj5#Fg+06|vkI#2M6Lrx(j`aC1xhR7obhCuQyI zm~AzMgT#`dYenb%1Xz0n7K6Z59I64jgVO^xB(LUXpa1#!U+(WLdD7K?SGli_oKl@d z?3=%RgENK>D-7%hOtX@@@@E=0OiC)nQ^rK{K~!uAOH3bKkS}H*AN&pno4z=&wBlX| zQjil}2hsMfrW-2U~1_Gtgz!UgIFpvv4|XX2??y0ES8GaE3D9x`9c7z z5Wu<#V&OP)GYL?=T%{67$;cH0SjF;_iQQ+rRHj55f%Vo<;cyp$6}zm)LLBYWL4b-Q zUoS}C4{X9Psl^<`Vhum{1@)@%I`*r-{`IxtHk5dNv+MjhFbM+$v@*c5u0%1GRcx$g z8s>~bWiPWw#nZk@c{-RSnd*^EYRE#ihCUAP z3ys+`k5;A7K;;HW(<-az6arY)#{B99Er~ct%ga9z`Y^4`e!9uw%_g`iH6s@C9FXA309xN0JG-i+VD~P8RV|cCr#|#LKoQX= zy@d8HkeXZK2`Vgk8nn=>7;~q2HO)>!Sol&YwD=|BSQh1!g*?-@ z);BTF^Ec@JPqu7gYhO&M2dG0Cd+OwWT05W6IJ+v0S8J>`F=a6QXjF8OP+TXb=p9NL&=-ETkJHie;jJ;D5z3&D)_urw6Rs1Y&hWbY9FX2Ntio5IJ35xPumcq3ikEf4$ui zV0rk8=9OSeld2eh7njhCEOZ=(1DFvpC7&aye0j9ULtA`_uf!>B16MYk^z45%BI#~pep$~l)tIw z6~#Hin)9l&_E=|nz^lh63ne>3!L6A5(niq|VOYHzpQ+cwb3|bUBBzb7Wqt+&+-0q+ zZ8jd>h2+lN!@Rma-FOYh54pWD#Fu`HS9eRh_1)dw5(s&}Sy#Z|Cg1yIYZk|%IBIGb zy%M2#StPleZ@s^;NVk{Qn3&BFLL~|d0Cevlt!hXqun0BH*ZPS9%Q+u^RfOIUlLiDb zftjI;zF{+ZmYAAQ30_ytm{YBHQaIsKXJj4@Q&Jb2^IAWSMv zRz5ah9WNg~Le+`kDS*L%<*d<5GBRETy|iKWg1jLIuF1*vDiKrxmW0ISpL%? zb?^jbZtin%cNVjO=Op3F&WL8|Oku6l=^$XjFcyr+%M)-4RhrobYNgfg5OR8$E|bn&vKI-n6|1}lAI$V$!#*W_I>Hz-3v zV7kJY@{}w{x_xN+`9l4XoZ8U;unl}Mc^u5Bv3lb+$0e(G1-#!#^zbktGxEfZ4HzDFMbHi!W1?b zlOEa(O-Uu1b}%Z|;{}kT6~(MPwrZreZHL+nkbNdXfEM& z3mpeeEc}4o-GzD|o+LqicOh@CBM-K(39A#;-Nb77%ENBHpI30Y>mqKMsyPom+lmiM zGLne>8oa0HcAIcfALdwkK9_(W{EHrRAPF9nBV#uAd{xfUt3tI4sQB>^+ zti!|UPvf_awaw6}N$q}(eJgq~Dq)Hgau}O^@TY5Z<#1!-M`ZJ^L2`DD{pL`K#in{V z(`Nokr$dS&c#2_E0}vre~wg$Al;*~*itn2;qH!hqv6%IqqMIR=M0xd!^E2T%^6XY>6`vZlzm__h{u)U1Py?#|9KZ6x6N-PMN&k(FCJpPzXZhAGe5@Clju?oW(Z zhOGuu)M*42W05oZc4}OG%RNIGIitRH!uZuTZ??B9B~xwsZazOP55-2S2+4NktV6qu zSZzyA17Kt(PRm$1lb;D-L0y@$L+hIF2c+53q&DvyTGGGpf`%dU36aCWl3?AQ*R8bn zw-RmNlsUwFVxP$ce1SU{rd1BfQ|MC0NNEAQ(JidHhVxIivxY8n(eHcKl?1|0OCB8> zzKkY?8d#U_9GWb@0j;n$xUqlqCbC2oRN8*d6UcgVW9_iXl78lQWoubkr+3MVY~1t$ ztQ($~gKbpR-Moxv#FcG12wr7$Ar|O-?mh{HAU7I29tQ{KG=defn@Ndhjdlqv5UVys z2XLswb-kC>d<$mT)}v}_SrK>ld^D-x@aWy!4O&lP z9g!8Qy$p0qanP8QP|D^JMJs$mKeq6S#iB6syazsxN;BGXz}}xl8HaR>LK&O42w)+< zA!U^h?l`f`)QSvvjuZK8qWXawF3+*x;n>pjE4Ys<9CGaZh<~e^^ zjzB-510+- z;oiyRPul3HqGpA&(B}+JdrE5M%@>5~qItg1l9&$eG_l~m{A8rC0+oopdk$$!$br@r zDxsTqpj0f%74BnO{%H0W^yZ7sNi)F(&Dt3z5?k%mPPSlq@LXKGfd z;pObA2(UJkSE9qEgL9KXsSp_^R#vIAEx_tbT&A!@r_=5hCPwjp&Fn1B>KKF^h;vu2 zp1+uzs3X&^YdwANuNlO736}PU4gOi4UJYyXn`y$wspkk z#bf09Y8kZ)1SyWzq2B#StMd4Lv*&J2-%*J18HMOt=IT`w7)U&Xd!^Ak1-=`|h zyy)g--fc$W?=@Ll(`mGOc2(eN+pauJ0G3{#A=YF|<#t>6Y4SEzO>o6VVBxnggBPbu z)$)V^3vdCD1d#K2$tiWUg;zZD(+Z~-mAqlQfLoOsSb!ZLyXryiI?Y*fZ896Bvw zmK02^FP|C)8yyv3vFw#OgdQU|LkpeOmst=>@i14{6Lmx4V8T{HOzDh>RgP7&F7g)_ zX^jV&&o69FKRm?p8_H}dRq!fAU>%f3QTvLf*%h~&*hR)W$04UzymsX(N&$j6e=1*q zebp@hk|Ju(tLSouKBx=G%97o{}=m76pXR99aO9r8;QH zolRu#ND|?Br(t`(V8MCjL@4CQsMuL744Tl+24nvKmpO(a{7l|0Y59idG_!EJd8KRp zvWj4qBZ>{39?zF|_;;_`;A!%L6`+oV=a*MHo1N!6=eSv{VIokg$0(-ItC2-uDX(Y& z;!tR9oUovKO)zz)jA=ZjXJLc3TVsJa9Tyw-3q=7|7rX$lB>dE=rIUSvDn}R9qgJP@ zRBD%sE!iU;2U>|xGF8Yc3u4u2*}T9};8L`T_#IV8zPb?b?Ik7_) zVN?KH{=C2|6=w)DA*^h=D7?@y(rOGoropO&Djp{f5037@&trhybJ=4X0d}$LfaV7N z^!efIp|Ponp{eTBu=s_6qZkT;FvaHtOBr@v3lyuh2d2It zvxI735m-}C4i5+{Uu!JGbN#O1_&7%qen*IIs0Ly&iZx_rCNnrLm+KVcC)LYirr}ZF zZ>>~EQfV78*priOplkc({>yy|m+kG7?GxxPnwDKSe)s07@JOrkLGH(CsGUQ50lg={ z2f1QO(NCXHl!ViW`CD#S{xRDvyoRZs1j zURw(@dHRH87TMJ3z2{j`{6Rd02xJ;>(+kMR!XteMA$G-0b}C5C4-0EvGZlm@UFB7~ zXI)}8!EGx^!^*e1?SgS?kQ7v=d;m*kX}j(42qW~4>8OiC5_1ni!4(X2xzxsT$)C%T zHr_L^Mgv#_^V(s8okw1{2C9aT1M-9>6*Cto2h(F0Zk$xdXjVZ)>mWToI(#@fJeA|7 z&$FNS#MYL@wj*0KQs1ST!uaGBzlT_Z;mS~V546G(pYjzV$uQ?78UQScHrBwf`{Z4* zuq5n`hLgaefrY~?tN<1d43Wz~6KlIYAzJ`lrbdT6<_oWINH*Uvv2G9kloPC*kuQ>3 z9pY&l0_5PNA^*A%i_Bdwy?g!zR>nW$Do;SE*t(i$_meCwas?BDGy2sgcoHP4ry zp8UnO=~|P2@(u~CMpyRlYFI8qzGrFiU;fRdW#iTI(tbybs~S(m4pEaum9vV6KQuVi zDi+R4At&#RZS;zrX8=~Q#^@ECR$QD{MyMXN?b~f1<*1Nw*`A^ zOrT{|s%TeP83pjlrA)dy_u8@&>TY52?Hr=f8x&xnxw6xQw+=8%c;LX|g}^c?uh>V> z9VbF{B-Xb&d77n&<4O3gEZ(*V6NP*unFXG)RvCO>&HEGQ8UO3gw`cB8Pv5^kGt=H| zaQeMBp`QQC+qXN$8BJ-3a1`(PL|zW1v8uRPWk<&nR#7PB)uGy0Vpm}#;9}>rqD=){ z_3uI*1!pMQR%p_RrDdcFXvrD!M0r>2v7gqIe#*9NKVylsaxII+wTId<-7aovHi?_W z`Z7W*+~DuDu(zz+qAi{9J>-@4iW#F!KbZ6$67wo9koF;eR8;ZaGN@(-Altsa)RW=(k9#D!_EwRbojGi>y9FVBKwD zz-8D0C!Dg_vZ=tT@R^*JsIR<&)BEjqEj&T<^xRI0%(IZfkSB%LD=iNW8r+E-O#FFy zP$|~OL3VQ+ZYlwd3b9H?Dhp|040%{#*5zRo?%Tp9rJpT-c8hobz+iAqUAcfddLJ9-5xWI0PO52zQ`ZDu zt$hFtOO^5%R{< zMhT@!<{xa&8L1$C zU2FD^Ii`6+=qWgYGEP;uG7ooK^@UrUBcx^oDhiJ}JV1ey)ZJ6V(N+`Usi^IyeoRfg z|M#R5un@Yw^jccCxQ%CaC9kxqsMQx8MW2IrmE+#-@@yD37H;{xib&Q_sn2S&3p=t( zG=!YdQ3(Evp(!g^3-B2Mzxmh4U{#n^mTMJ;l{N)d)NEt#;?3conxj*|6@gVoFTlb8 z0)9RQY0=`4^GenR!oHGRPmN)X3$P^8j*f;|0xSsR%OZb!kmjYKpEZ?ULVyCezACOH)90+K% zmwgn)r1Gf-cCqE5h4WXRX0#*D+|DX+)u43UAhaU?FRj#o16o*f-9{yEz;X*~fdO~s zwXL>+DJ^PMgBlflz9`tq$jIYYyJ7DSL@CGk&~8f*5o5qYOdO=d1yVwF2rL_?E@7J` z0tv3|2U4p=;8V}zk~hBP;SriRKzvL3ep>A^_drs&?gB^i+{6MxRuzm*B1@xuT7RaQ z@2Nss>7n^qlmcs4MtU1677SSI-!m3H57k>zM=|f`o{X^JRZde(!GMkLM4``qYR0XpzNjN(^wbj!- zI(_S)7fdWLM@WTkkwzA8Cc&E@g{}+Bij;r8ZXX zAwIqYY4)fBD-5gzSv_D?ftxmf)c~*%n?gSXRF&~}$z7tY>NJb@sPGota`O-zlvehk zk;PpD;=6pE*+kTg|&|a zg+_M{&$?a2(S2!-To5g6a3*tSzfo+qASt~7RY)uX$fM=nf;_6c9{Kc6-jtCs%q*+| z(;4tfwYOgYsf9kDu-!3OQLuz!+`#Y7$wY@%D@hf>rUm^xYb*4~gi%5&yTDO|<`|2| z|3>q+Os7jG&BX*mSAf;ZyO6Kpw9<+bn&M6=u+$9<0aR3mR}MDEo8CZDa1dvXni4{x zkEua*5J&9+N6g3aSA9N|@OUj1B3DjagP3xJhlG!#x@d!n~vEz4wqSU9P4t-63~mj+mQVuG-f zfD7x6JE~f>Rso0od%gMQ%|@^Ml>rN*SnN!SaUjwKiU3TXK$`b;fFo=x=x`&^A)95H za~&fhO1Lvzgv+#nnE5Ww27f+9W1K^g6g$*9NpY zX&bC)TXosd&gw|s=!sZN5a$UMRBTr1GQYA0cd%2)x2R^bDY&ZP({l|+Ra})!da=7u zp_mas#6D;SE!Zx8h`M)ZS~Z?^3Q#wI)oq(m#mh{C70&vAjmFmZVSKz2^6P=v71*ii@Ue1je!(yO}L$sR50 z`e`jcJxq8Vr29HS<-(9>&k{0-{!?8Gc^xta_)W-xE^{QtpLh3TB-yeN%p35=HYB4`EHexLfI;BcM;% zc1}|j7Q_+F6b&?XQVuG%qHrqI<5+wk;}dd<5F)eS7SgoBp}@k0_wE=HSVMI3d>Nsy z>ahs`$(W@-h^#6FTejX6D+8XNgn2blcy#1t7w85?A-*uJa2~ra7*NkWPj z2bN}(^7MTuDhIvHQJ0rU9;B-|dVBTG%MOBn2CT?%%Xhbzj&4X!nmf+Wo!6U%0=`qi ztCszntkfc>dai|p2u|KS2bFAo&@C%m1z8YAhALM1L$hzXbbEWYVMT9r$7}l1+t9Gl!hhk#MJEdzjPNh=}3O)pN`Y-k>WS!jmD*>!p z2f%`A=%Mx|jY1}e5?(I6rE%gnT>`Y@u_}Hq1r&xU;OcDUd)O*Y-<`*&Yq9LQn;4BX zd7{WJ3TbRVpBK7CP)6Z3{TbB?XfrVWgl~>NJWIQI_Q0W#{GOHK(JF}~Jh>TFj#wyLT$|^S3#07KP z2M4!Chwp(__uM5!SbY7nTU$tRAg}~i+S4bbp(R_-Bg0@c-|om}HLDtU0LjwS0K^Aqr(aasFIp@^@~Y(AgHLRuo?%VY12;~S)u)Vz|^bVzPOPgQ$+((_=~ z1C)fX*m%Wbya&Tm6|pS5RTddqZFf1B2S_>flr`NAR0*!og>e;Py6i9Ypp01Y=h10^ z)t8-3`%bh#n;O0->iE%|;&*0K_CoB)ia~~nU^CSd<%`?k)eL#17M9ppO}K>UX&7X1 z<=Eks%^_v7ccgradjpnvErmwAR=`1ES&uwY*i;O}yJ&rNe2!4|RBSV*HNOCNudeGG z`$6^Fxbhq=>j_}fAR|v*yFT%d01KC*hqrjqAr+sG zs5`>E#1+mdwXZC81!7SgDs;4>?`}!t)oGYvW(#$yxl?o6b08IhSD2F@#(p=YnZq|W zD`@FfJR@u+v@+e$RQ3U;mFwuv^4{Sbfwe`Iajp|s_sqf?cMFRK7Q=UHCXCNbvD5PGqDvLYprO;QL2rA=ULX|~!yLzlU?h%K|yueGkVT0AkvbFm0& z%g18rm|;cXn!<{`!^%u81z3+u7(L}B#%P(KmUG&+6BB2U_EjhtwWj$F^cv0e`$3}A zv=U%Np$g)P&3LuHvfty?o|%Zy>b|Bh$X6ZVa+#K}SQWYoMg$ggbW2ilz_VH{0oEn_ zmuN37@3rY+gI6BJGF}ymwV(`+5bx}%4-+|~*!xY0Y*asv;eBZZ$S;k~GkCKRf#;ua zGv)}P22->OFw!K{T?|@fwSbldm0cEUcPosH8?f%z`lmn(;uF3wWE-$*x-h3*!QYLh zx$E26v-!y?`BWFw>edRuD876uuqX^mq?H0o{6H%$>QOB;7rsZfqlM$27uKeb7pkLL zcp(u}9M8)Lz&by)Fi-1>v_d1N-b-O{QXS)vfp6S|d-N`^F=>m+b`B0&!^7kiAjKfo z??UjU|nnOPGEQG zBrK00eDyVA&B>%cfptaXyy6+UIyr_ZKX`@3=^}Wgz$(?@3huA0?)eXb)IyQXC2l-^ zOWkSk|LfWOEP`3Q%(hyy*RGLSvp^O``D@}6?jLVxhLxd8mfA=bR&O4S!#%~8cYBU7 z8dgFm60C9?%B(i{%qIk7&qfG5BI~UH~7Q0KI*-ij7TiBZlkLK_udPN zxIXn)Z>@8SsnJmaE1?Z7EstmUBVB@1m)^I)=#`6*U^`CNsQfgh3!Tpmpa1lykxR5N zy{xcer)6f-g*V5(+$Lh|srpvBTF=!PC`?=i8`Z#q?h#P{)+ZEL9|OH4t$~$^jT0=P zPFnTUK~N9z7Hv;~HU6>n*2&$ z42>FWS)sXP6u3g;EFnUY({|cIfPK#Uuaz#s|>ZmA`o! zU09DL$0mO(mdel;=Is^{9WQ9CIkB4pOz{vcADH4jN4Vy>I7S&dEgNIBl5nZ2U9&&B z8BnPEr{aEPwIp~Il3R^qQ4(;kCkeOeJqG4{mJqxW^C}04aU}yBqFAZJI##G|A|@8j zUEvl3SA4{1JNYyTO7+BbZ@DR2ZJcAgJTb9wYmI9J-)PXPPswtd8@>GX=#GO|)&;J( zui+YT#?3{bf8PB7JOyG7N&Vd9tD ze7Posj=;j8NLLFdwEF55fK`GiWx!HbkoxHQ^?GZ%+bZG{*I{7c!YZUh8^o|!LB6g5 zp25IM(UpB802D9C7hPRKdmz$x^<2abV1+fLlBi`)A=68R2s3wQWG%B(X~C=}worOk zMANPyz#@Yz6`@TR^V_wS@`|Sp)imVTITZ0OSXj!PG-o!=@~9cFQu%{jX)$xCU*6G3 zyK;$%6?a1f7JNbm@I0e^R}S9o?qaEkEXDzwTwHcTkyzYkCx7eELRZP68#Yh0qIs1B ztd6aBfl+q2WF73$+{Ezu)YQ~H0_(G|s)ohFVjdQD{Q|Hstw+oZ*Sj66-R*Yg+v&EY zx^?Lifu%7l9$Crr_1Ud!j}Ea<&wL&0{1jNWAaS1M_mc15Il#<|#%nB#eZQs@SW+Aj zD+x=;QkHKfPf0bx0N7gfE#C!MYtLb19btP(Q<;9@H3JocTD;FojJURPXUTxYSQeQ? z1-T$67e{`gQ$`t`_JUa|%Xlz3u6_wzc?d6=Ib;C*2WKgZE0^JlwBiBF0s^WyZ`Sjb z_-$~%%G8ql4tjGUK#3OtmVWbJVny`wCMpFNHDjR(TtWE1{G*S+Esa{WV8w!1LbIE2 z4>cQ$4gq*1hudVhd8vw-QD8}+bvCZuqK7Va4FVU=yByJkn?j1ZiS{3Ac?0V^W(>>X8l^@KGLtB_$; zF+P}zyfRX004fLhDjkKECpEBQa@A7YOVaK7m!--r2qnS2-z5}ULENKpVe`Oq+LczJ zV{rfxv~o8vcqN5D0$0aDs^Asc>!D9`h2j*}5^B^P`!0h~!?G57cwB@))MPpKc<5A$ z9VJylt<|NygNKteu!2{q_;hOiR^{XnnS^^UYNe~TOOJ%-&vofrCOT&|07*z?f z#%N+ql+h2-!0NtW$rv(AEC_ZgF|{^)E5GIEC=A^wF}t)3xuJC}uUAbzW(b}>;SO2F zV()z&Sk93a7B93He166Qo~3TEj-8G*rS%cmZts=#mt%s}fsvHK%Ta zQ}R>tAeY6lTH;!|c_pg(Fc6eV(ZVyHD7fS$8A0I#1+W~jF>Yv-oi>UoOt;PH1ub~x zxblk(aEYNl?;aACwh^I5qzY_ZUI+3AM!NE(Ud#PY#aZ=oc5oX%@snz@kDm+O(*x~OD`P-eOO!2dN-^#~zwp_WE!ha8?wx5HmE_@(IyaZw;WUrJpjNuzlL< z%GA!Xn@sgED#e`pg9H<4rCUn`Yc%7X6vIGQ2J)=-)(<+cN)u8xW<8T5dXeS+hR`k4 zWP!6NiC!JME7)&Z9Vf7g!F#5a?Vs|BU*3b0IZ~6jl3c7sNn{XU#8`&{s8UCHyyp{g&|kjc>KK8= zJ<{M3UM6rB{#B%HECZbn3t|1IhpKxD+ z#kT4#Yi98b1iQ2&#%YTjbvl zn)|pIo+tr}tN!tu3asl+uogknvsO0uS9WgPSlwLEwU~@nm8u^>BOi@Gmu}u}-M;;` z+s)f8$k~_A_ke{Kc9V^9I1aNoa&m=#msO#!5^2#H)w8SYfZD7&LwxxgHvPxSHq(IC zLVsj^fmaTUV17p*5GUnVrN;a-MBP7H}mpM)^`E zc6zYcFn9$KO4MbISE2MM2!*lcDGW*SI$q?BWi+4%o^ew~sC`m)lMfBiM$=M%C8R{| zJFWs${bfTHQE7NRV(Z6bl^$p*u$HY%-rnl!!|B#U?%w)30`Kc^2vzsWMS~Q%f)N3u zclpa*+$D13t2qf+Y0E-Op5)pcvB&&l9qj!5>2s_LU+QQCUungI78b25_JEaXoL$d9 z9D|8vg~YB*;s&Fnx|#iN+t}<9WOrF-bpQ3$rs`MCy!f!O?({NT6ZJBsi zeJB^e8b)`K#ui7^s6q_4^a$m3jdGD!x||VL?Eg7NT%lY{UrAAx%_Od%V#KbvfyA-n zO7@OG7n$rqDFakc3d4+bg+;OMjLR8W-S*7%$^QQ9gQGVEonHjBOk!b(ZPh}q14Qqq@p=hZ;>zHV6AMS8m2^5W zn`9c{tllk3wFjKO*ptfW z(i{0Ok=_T3&>$(&837zVkt3@PfTbh9sJ*2x&PWbc{3OQ|dmY3$wCl)%9#|qOGqJX% zWKGOy6t&6Ol6y~Xs8o;$X20Co%75VMN~=ynZ25JRz@h`lp|Ff0EZmY*ICz=x?0H`6 zu&)ePA>=++gUR)M8}RPt0N5=klExOt_)G2qJoL-g07*$`X}cK?KI}%%&2Kg*bM8bxzuHO zAEuL!_&71fyldg=IumYnPDvT65FM8bmJgbR<$j{=KEXC`{U|u^{_{O6f8S z-f_K4zT-FvJIePd727K-dW!-qfztqBEjHcJ^dGNBEPmsdQVXjWuNtRVPac;^<(0Il zGO5IALSSqPS#Z^&os|elmmBp{4AK$% zcvKuLcRYQB+VoZhYr@Pc&uAy7?8dA40abP-*e2>lPd(*N(fuZ{g(=#V&wUaJ?X<6u zU2(D|xDrPB9?jwhs!m_e9NYKWwSNT;8a=^C@QH*VTkDVFE^CJm+cm1yl376!FE--1 z4c{%xDrtb30E=Y8AS*s^$$B2=(ka;McL|kO!$g(}R~T7@7M|gPxK(wcN=;1R$vtWc zY5T$^A`8PZ^;L5N`)&6HRHEI31MJ)w)k5fqOhdzPA0S=E@Op|o-nYmheEAmTs?rQ|Ri z#WWyCa+CKL_>5#qF?RP+SIMJu*IlO&`4oc1YH}8tWMn5FCotnB11bOX`-Q^lQpb{_ zZN<2V6n0Jmy@;Qx9{G)eFH$L18AldLswRj zU5zWAsdWXhb3K=i=h50uOgmxFqt(uu%Vzxdwq-J@D<0Y@bAdIBV1>dk>Qv1o%%bY| zHW;s~OBjBp904zTl^ucQ>N$a=)CC$_?3nHV2awo-OE|7`oupK`SKbQ)+=;gI6&%uC zGyAGug|{RIh+L?AZ3eUgulD+qqF&wj-P^Z6-;llHSEAg zh^NH3LZ_)&r{d~G7*|Lw0V9mKjx z)XW;7w422#;G)yq5?;N2{dyJ0%4+}%Mw?c)IeQ-g(>lf9!iZ{NK|1EV1A)eB^2%a~8gw|XB}zC$@3 z!HDDvtu}hb)e(-6mI2t<#@f( z-Yd>Pjhkp?iM1sTAitd zlM!^(`jgIgUOj&M$3On=#)eu*uGLU1;^8?+I_v1E@Ue)8LrvNG=$dzHu1GdlfYxP|>O>6$ah z4;yX*O11YHCNDU!{KtS&1!5?cT~oX$pU@0yCNBy(Ur@DK8c=b>c?M^Y4q9=GAzDap zYq-SoV!W0bQ>{KurHjV<>rIzsD+7g50>={5C-S+*HhhP<9MZM`c zfoMFTOsyEVuCjWrje=<6u4 zq-VrKmZay%m=#}ovzvgWYrFBxK*8r|xbk9fD~6OXU9Gg`oT>GQ)6^?Z zYj%c(#oM^(lVaRB9(8QbOg;{dw(D{M8_0T^qB1vVV_f`ihuh2`O8D53E!-h zhT&$rbMkQS5M?oeD%GEH2(MJYl=*?NJP^%e>t2U1K^1$0*4l>AiidVQrBpXqg%+H$ zrZr6VzU9mMQYdMdd{E%2J?y|5tXvy!JQGj-GrYLS1x8|8 z(RlJ*fGFJHp^Z7{0jnej zD1~h)k`7?>mC~XQi(Pp>NF`sDl$l9raUH;tzkrckmH$!_RtS9y zuh7%F68I2Wvv@QMsjv8P@Q809u3%z~Tqn$~326AdPVNb@q__q0x45|5BMN4;kLb90g0+>#R5jbsv>R#UO^1iCf8N#S3W9pSspB*6>2)0)L(3|>%CvXU+M?)>YgHQ z9Aw2F$HE{BgAeC~yLyaLF?kfgqK7z1WMQ!g_wd9JpyGTwXa5SAoPe;S{IYI;n(EKL z`!j&`Q@5=kT$3DzZ~&w5LaYw70VK4F*!p+;3ISJZ89BAQ=F%^FrcUay*=<&*1M6e& z4~N^C7$-&h`7%L zDlk^dtr@1nD}i(wAYkQU;o@ahF#YKt$*e#84$NBV8ChVJMzEA#=y;n+$ci$=)E;?7 zDY|gKau%*)IL62`Vy3vaB%u3Q{WD^;wKZ~S3ygvkN1zmeC3vb{H(q@P9S;Q- zJit0pLu66-;73((Zv<~AzsmFoPsF+cu~tsx>poxem^$962A2GS&MF>(D;7A(c6u$;)X8i5 z*i{?Q+XUnL#iY^sH4$%13aqJKDfbC70Y2H9nGt(aH+04TVbP7_XA`pFL55(Bj$_K2%aaz$P^gZB& zS1@bV;TB%n5|LNc5!zIjI9q5qBCyn)s)AS?>b>har((031^s+dC3-RGxUBy&Hn_f%@5}k55bi|$0qgdK&#=Y z93mey@Gcoi7ccR&DY~$&Qu&W|E_lyD%b#giBe2@SC!Y^&YRKJgl9fq13gI)5ywc=d zkcwkGayhR;QL?qCI?Sp>Qw$%_LPv7d7+F=(ZRFp*Cy!LULsKV^wXO_UkLd-{l*&e| zBC85#R+6cF4;F#tyb56X)kcez_kQBwUqco@i-~2> z>c84jXv`C8-W7l~Idw1gR|J~WkTO$>Pn1>4G{+Tft935)Y|T7U>nc;=e9wVJX|dv0 zKmQ|u^^ZTi3Sh1BG*Ch4{iav+4u9{~?I=aQ}qcQxq6m z-t6{(bqT;4A+g|B8nA9_3YYbE=EEf&O*H^2MojloLFg=PxHh>l*-v~usy zFF4$`Iy%h@OhCnsCy}-Kp{P=qurisDip>>|o4#bw+F%3gI_Ov2lSLxiD653I+a~cU;X^gG_rOW$;xWA zceM-#J*4Zeu52$6hTzF7s*DR8(Z%?=hO9nA zjD>;q@sF#G1wYWj?$?x1>$J_#ssc5D?fNnAB&9xWe}RIWe1 zqxD1qOK(iFD)5H7e~)!j)W?H%i%1ET(#lx{H?ZHb%6Njy<_4y)a`i?#)^A^gOP$0$p}Ov~Y|(j+-!+?2d9!*%9yc z0Y)YVRzS;%V7z&83l1`hX8|p_#54V566i`X*OUvJ zE4);_b%!u^^SX?Z3{Vb!;QXV%g%|k8KmU$}LL~##a@KM35Z%xdwBnk<>{8}vI5MpA zo?ake)ibT)K!do^c{Y0?v8{LwV2KWQcC>cfS@CgyRhAM4t^7dMQeOOVeV|d5wXpiP zT4e_pQHzeEu^W@&6nVA2IL^YURUiq}s%k$*(i}@sqMnS7ka%O!I{h?OdU)kvQz^DIEcF2Y$!CTAjhe^x!_a2PuECMl+xm|*Pnb(6Bs zP?pN?L&mPWFUi3%B_r-I)oMTdyTXd@AJP*XPCR2kX`xWTm8`?@{p013mVzo<)k^)q zH5yi`r+o$%#fxMxWJO#BrxIH6kZ+~uKZ8}6@CS!;7g1u@fR(ptLgFvcby?%%lwwQL3sm}Q zKq&@sADxPLO3|S|C?ol1$H!8Xg%U_vceWxkL0c&5a)km|>{2VsujoUGIi;`R90)HV zZgt43^s${s3FK0~@#I)Qg^sXNE+u`Wf%4`CZ{CQPh)kyhE20V4ba(1eR224#lQmF?%=; z3kyJ61h^<*iI**e;&B0{?&a_hv?9jT)G}bn%5z#+TeluOg7$j~6RF3nzFaH_tg?-l zAOHFBYR0;XVTj1GhRzkZ8Z0%gh6qu;CY; ziIhNLJn2Io89Al`UCFB{vPzP$cOJXPpFjU;Zr4(;oc#68JC)PQD8+-F$gkWyQ1(&h z3}H5XA^7B@G-w6jSj~kb)k=*jIx!Nmq6Q>erKIA>BJDiTHuRvDc&x}4=s}aLbSYs9 zELHf1EEnHCi&O07dahSfejMnE%??Q{SXhe|eW&HLg*)O(Xmu}F)oV2ebV)j84mW^T z@Tv-4(Kvx}mAelfJbFS@J=}k|@^D3&GIc8`wE9kw~02x zN-H@?&-PTj#QlM#7gT0kUFM%us~M74CZp9lJ6V{7(H4M(xgV|>B(EG;iX~92Ka)XB zD~>;j65pm({7fVz!o=SZDo++5i@@W1k^glfAtbILg-Xvb#o% zjZWc7rt<3b@fHKtU~wrBQ|Rl6SPi2T%crlN`}EKdDv`_|_R;D%B!(3F8@jTFy^FM> zjG`2n>Y^};mXr*DD)b62h_AqNbYxYL zdosMZE}FVF*Sm#8yddnxX`A;G*uy<7+Kk~nI)yp)2>~eQ74=yXE0cP~!N+Z=nkBQ) zW3o_q#Y`;xP+8zJa%-lpWwe+C4Tli8Lf7riHS?dZ-_*pgi)f!>I1KGH@fFZ9Urg|$ zeP}SJ8iU_YhcMmNBA}E?1JS3MUmxV`xq?~V)lzK95xP^XHMnj=%Uv$BL@JRp^EsppyE4DXn0MIjF3QkX05|L{(qBN*15(F$3Eu z1(=C=Ga%8*@D%=FD)o0jy$!>an^;my;C;t%JB8N#aCU+)tKsg4&k_o(V401(nB!$W zBFqgCi{D=&X&pDlrYSkL^bRL4(pPPskZo#g5{MIGEv|ocZVslxt(p7NuKN^AlRi`j z&f-`;TPQ?#-rsq?LSUg8odzq}&0>F>oMKC$WvFuFs&tXI)dir+MOI09okjc!xFvvO zVl9fn#nf4??y}At_rxPqWL^J+1B*9yaKr)hRgi|1q6n-q2ehyxVZJ<#0x>*Vtx9E1 z{@Uiya8&9@4;=wHFN(znU_m!sUwsc(1XjI}LT50u2ETlkLs$!+@GpA$P$tr{z?v6_ zur-)dHTMR2*5n+_H1MP`*d0_*kymFb&2UI#WD(`cx`ZqQ#J!Ai{CDKy3Tj`ML!Qf!#-=h-TCq<{ z$7oBnlZ-)ocIXCDkKcPZbqw4|sh z9Yr7q<_4qc1lBsZL?EdNMKI|ZnOSoAEElg#jZLlh^jUuOtjWe3Jb#Sg%*^!NlaqZQ z#%jPsAPX|!zk0qifKDl>c&K=ba+Dpa4^=O4JX2h~=!kJOTOIaQ-T<}!4J;;Fr-s?d zn150bODsu2)b&pQQzQ`v5oX6YE7Iz#(o=dr3vnpM*`=-Wcbf>tQ>`X=MPRw+@&Fxu zLAcnsAXa9ey7twe)oo`NnUx29{#X4)ns=lP4~W;EHrtzQf8o)_0WS4iF8evRHg9c8 zYb5*h6ap5ZUpIcu2SgTbkgJZPS#ve*@NuI@C#r&xs?w-bWUqOz@kLc|*hmNHoBeg8 zlV3)gsUlAkx;2~9HR~)MBa7qf^N-fvcoHaa6||!M?#yCGHgOoVf&eHUKowv7J3)n8 z4E~M*52e+AFIn202HFSe5J%kX93D#NIsmkMcyOS|ddarU<7Gf=ySXTFDvE=U-2L8e p)++?oGdZ@=wmIU@^209BzX7k>;Fi!c>{kE)002ovPDHLkV1jvpw-5jT diff --git a/pages/comparison-to-spark.md b/pages/comparison-to-spark.md index 66dea36e..794ba035 100644 --- a/pages/comparison-to-spark.md +++ b/pages/comparison-to-spark.md @@ -36,8 +36,8 @@ Javalin now offers a lot of features that are not available in Spark: Javalin has the concept of a **Handler**. A **Handler** is void and takes a **Context**, which wraps **HttpServletRequest** and **HttpServletResponse**. You operate on both the request and response through this **Context**. ```java -javalin.get("/path", ctx -> ctx.result("Hello, World!")); -javalin.after("/path", ctx -> ctx.result("Actually, nevermind...")); +config.routes.get("/path", ctx -> ctx.result("Hello, World!")); +config.routes.after("/path", ctx -> ctx.result("Actually, nevermind...")); ``` Spark on the other hand has **Routes** and **Filters** . Both **Route** and **Filter** in Spark take @@ -57,7 +57,7 @@ Javalin's approach leads to a much more consistent API, both for the previous an ### Redirects ```java -javalin.get("/", ctx -> ctx.redirect("/new-path")); +config.routes.get("/", ctx -> ctx.redirect("/new-path")); // vs Spark.get("/", (req, res) -> { res.redirect("/new-path"); // can't return here, the redirect method is void @@ -67,7 +67,7 @@ Spark.get("/", (req, res) -> { ### JSON mapping ```java -javalin.get("/", ctx -> ctx.json(object)); +config.routes.get("/", ctx -> ctx.json(object)); // vs Spark.get("/", (req, res) -> object, new JsonTransformer()); ``` @@ -75,7 +75,7 @@ Spark.get("/", (req, res) -> object, new JsonTransformer()); ### Templates ```java -javalin.get("/", ctx -> ctx.render("path", model)); +config.routes.get("/", ctx -> ctx.render("path", model)); // vs Spark.get("/", (req, res) -> new ModelAndView(model, "path"), new TemplateEngine()); ``` diff --git a/pages/docs/docs-past-3-13-X.md b/pages/docs/docs-past-3-13-X.md index 8738782f..d7850c13 100644 --- a/pages/docs/docs-past-3-13-X.md +++ b/pages/docs/docs-past-3-13-X.md @@ -51,7 +51,7 @@ Add the dependency: {% include macros/mavenDep.md %} Start coding: -{% include macros/gettingStarted.md %} +{% include macros/gettingStarted6.md %} ## Handlers Javalin has three main handler types: before-handlers, endpoint-handlers, and after-handlers. diff --git a/pages/docs/docs-past-4-6-X.md b/pages/docs/docs-past-4-6-X.md index 6005d8b2..c1e251e0 100644 --- a/pages/docs/docs-past-4-6-X.md +++ b/pages/docs/docs-past-4-6-X.md @@ -51,7 +51,7 @@ Add the dependency: {% include macros/mavenDep.md %} Start coding: -{% include macros/gettingStarted.md %} +{% include macros/gettingStarted6.md %} ## Handlers Javalin has three main handler types: before-handlers, endpoint-handlers, and after-handlers. diff --git a/pages/docs/docs-past-5-6-x.md b/pages/docs/docs-past-5-6-x.md index 894bfcd4..96f84fb0 100644 --- a/pages/docs/docs-past-5-6-x.md +++ b/pages/docs/docs-past-5-6-x.md @@ -81,7 +81,7 @@ Add the dependency: {% include macros/mavenDep.md %} Start coding: -{% include macros/gettingStarted.md %} +{% include macros/gettingStarted6.md %} ## Handlers Javalin has three main handler types: before-handlers, endpoint-handlers, and after-handlers. diff --git a/pages/docs/docs-future-7.md b/pages/docs/docs-past-6-X.md similarity index 86% rename from pages/docs/docs-future-7.md rename to pages/docs/docs-past-6-X.md index 42137993..f3e59486 100644 --- a/pages/docs/docs-future-7.md +++ b/pages/docs/docs-past-6-X.md @@ -1,8 +1,8 @@ --- layout: default -title: Documentation +title: Archive - v6 Documentation rightmenu: true -permalink: /docs-future +permalink: /archive/docs/v6.X.html --- {% include notificationBanner.html %} @@ -13,7 +13,6 @@ permalink: /docs-future - [Before](#before-handlers) - [Endpoint](#endpoint-handlers) - [After](#after-handlers) - - [Wrapper](#wrapper-handlers) - [Context (ctx)](#context) - [WebSockets](#websockets) - [Before](#wsbefore) @@ -66,36 +65,21 @@ permalink: /docs-future - [Documentation for previous versions](#documentation-for-previous-versions) -

Documentation - Javalin 7

+

Documentation

-This documentation is for Javalin 7, which is currently in development. -For the current stable version (6.X), see the [current documentation](/documentation). +The documentation is for the latest version of Javalin, currently `{{site.javalinversion}}`. Javalin follows [semantic versioning](http://semver.org/), meaning there are no breaking -changes unless the major (leftmost) digit changes, for example `6.X.X` to `7.X.X`. - -### Major Changes in Javalin 7 - -- **Java 17 required** (previously Java 11) -- **Jetty 12** (previously Jetty 11) - servlet packages changed from `javax.servlet.*` to `jakarta.servlet.*` -- **Routes must be configured upfront** in `config.routes.*` instead of `app.*` - -See the [migration guide](/migration-guide-javalin-6-to-7) for complete details. +changes unless the major (leftmost) digit changes, for example `5.X.X` to `6.X.X`. {% include sponsorOrStar.html %} ## Getting Started Add the dependency: -{% assign javalinVersion = "7.0.0-alpha4" %} {% include macros/mavenDep.md %} Start coding: -{% include macros/gettingStarted7.md %} - -
-**Important change in Javalin 7:** Routes must now be defined in the `config.routes` block during application creation. -You can no longer add routes after calling `.start()`. See the [migration guide](/migration-guide-javalin-6-to-7) for details. -
+{% include macros/gettingStarted6.md %} ## Handlers Javalin has three main handler types: before-handlers, endpoint-handlers, and after-handlers. @@ -119,33 +103,33 @@ Before-handlers are matched before every request (including static files).
You might know before-handlers as filters, interceptors, or middleware from other libraries.
{% capture java %} -config.routes.before(ctx -> { +app.before(ctx -> { // runs before all requests }); -config.routes.before("/path/*", ctx -> { +app.before("/path/*", ctx -> { // runs before request to /path/* }); {% endcapture %} {% capture kotlin %} -config.routes.before { ctx -> +app.before { ctx -> // runs before all requests } -config.routes.before("/path/*") { ctx -> +app.before("/path/*") { ctx -> // runs before request to /path/* } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} In some cases, you might want to only run a before-handler if the request will be matched (not 404). -In this case you can use the `config.routes.beforeMatched` method: +In this case you can use the `app.beforeMatched` method: {% capture java %} -config.routes.beforeMatched(ctx -> { +app.beforeMatched(ctx -> { // runs before all matched requests (including static files) }); {% endcapture %} {% capture kotlin %} -config.routes.beforeMatched { ctx -> +app.beforeMatched { ctx -> // runs before all matched requests (including static files) } {% endcapture %} @@ -155,34 +139,31 @@ config.routes.beforeMatched { ctx -> ### Endpoint handlers Endpoint handlers are the main handler type, and defines your API. You can add a GET handler to serve data to a client, or a POST handler to receive some data. -Common methods are supported via `config.routes` (GET, POST, QUERY, PUT, PATCH, DELETE, HEAD, OPTIONS), -uncommon operations (TRACE, CONNECT) are supported via `config.routes.addHandler`. - -The [QUERY method](https://httpwg.org/http-extensions/draft-ietf-httpbis-safe-method-w-body.html) is similar to GET, -but allows a request body. This is useful for complex queries that don't fit in a URL. +Common methods are supported directly on the `Javalin` class (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS), +uncommon operations (TRACE, CONNECT) are supported via `Javalin#addHandler`. Endpoint-handlers are matched in the order they are defined.
You might know endpoint-handlers as routes or middleware from other libraries.
{% capture java %} -config.routes.get("/output", ctx -> { +app.get("/output", ctx -> { // some code ctx.json(object); }); -config.routes.post("/input", ctx -> { +app.post("/input", ctx -> { // some code ctx.status(201); }); {% endcapture %} {% capture kotlin %} -config.routes.get("/output") { ctx -> +app.get("/output") { ctx -> // some code ctx.json(object) } -config.routes.post("/input") { ctx -> +app.post("/input") { ctx -> // some code ctx.status(201) } @@ -191,18 +172,18 @@ config.routes.post("/input") { ctx -> Handler paths can include path-parameters. These are available via `ctx.pathParam("key")`: {% capture java %} -config.routes.get("/hello/{name}", ctx -> { // the {} syntax does not allow slashes ('/') as part of the parameter +app.get("/hello/{name}", ctx -> { // the {} syntax does not allow slashes ('/') as part of the parameter ctx.result("Hello: " + ctx.pathParam("name")); }); -config.routes.get("/hello/", ctx -> { // the <> syntax allows slashes ('/') as part of the parameter +app.get("/hello/", ctx -> { // the <> syntax allows slashes ('/') as part of the parameter ctx.result("Hello: " + ctx.pathParam("name")); }); {% endcapture %} {% capture kotlin %} -config.routes.get("/hello/{name}") { ctx -> // the {} syntax does not allow slashes ('/') as part of the parameter +app.get("/hello/{name}") { ctx -> // the {} syntax does not allow slashes ('/') as part of the parameter ctx.result("Hello: " + ctx.pathParam("name")) } -config.routes.get("/hello/") { ctx -> // the <> syntax allows slashes ('/') as part of the parameter +app.get("/hello/") { ctx -> // the <> syntax allows slashes ('/') as part of the parameter ctx.result("Hello: " + ctx.pathParam("name")) } {% endcapture %} @@ -211,13 +192,13 @@ config.routes.get("/hello/") { ctx -> // the <> syntax allows slashes ('/' Handler paths can also include wildcard parameters: {% capture java %} -config.routes.get("/path/*", ctx -> { // will match anything starting with /path/ - ctx.result("You are here because " + ctx.path() + " matches " + ctx.endpoint().path()); +app.get("/path/*", ctx -> { // will match anything starting with /path/ + ctx.result("You are here because " + ctx.path() + " matches " + ctx.matchedPath()); }); {% endcapture %} {% capture kotlin %} -config.routes.get("/path/*") { ctx -> // will match anything starting with /path/ - ctx.result("You are here because " + ctx.path() + " matches " + ctx.endpoint().path()) +app.get("/path/*") { ctx -> // will match anything starting with /path/ + ctx.result("You are here because " + ctx.path() + " matches " + ctx.matchedPath()) } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -230,87 +211,38 @@ After-handlers run after every request (even if an exception occurred)
You might know after-handlers as filters, interceptors, or middleware from other libraries.
{% capture java %} -config.routes.after(ctx -> { +app.after(ctx -> { // run after all requests }); -config.routes.after("/path/*", ctx -> { +app.after("/path/*", ctx -> { // runs after request to /path/* }); {% endcapture %} {% capture kotlin %} -config.routes.after { ctx -> +app.after { ctx -> // run after all requests } -config.routes.after("/path/*") { ctx -> +app.after("/path/*") { ctx -> // runs after request to /path/* } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} In some cases, you might want to only run an after-handler if the request will be matched (not 404). -In this case you can use the `config.routes.afterMatched` method: +In this case you can use the `app.afterMatched` method: {% capture java %} -config.routes.afterMatched(ctx -> { +app.afterMatched(ctx -> { // runs after all matched requests (including static files) }); {% endcapture %} {% capture kotlin %} -config.routes.afterMatched { ctx -> +app.afterMatched { ctx -> // runs after all matched requests (including static files) } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} -### Wrapper handlers -Wrapper-handlers run "around" endpoint handlers. The `HandlerWrapper` functional interface -receives an `Endpoint` (with `method`, `path`, and `handler`) and returns a new `Handler` that wraps the original. - -This is useful for propagating context like `ThreadLocal` or `ScopedValue`: - -{% capture java %} -config.router.handlerWrapper(endpoint -> ctx -> { - ScopedValue.where(MY_VALUE, "something").run(() -> { - endpoint.handler.handle(ctx); - }); -}); -{% endcapture %} -{% capture kotlin %} -config.router.handlerWrapper { endpoint -> Handler { ctx -> - ScopedValue.where(MY_VALUE, "something").run { - endpoint.handler.handle(ctx) - } -}} -{% endcapture %} -{% include macros/docsSnippet.html java=java kotlin=kotlin %} - -You can also wrap only HTTP endpoints (excluding before/after handlers): - -{% capture java %} -config.router.handlerWrapper(endpoint -> { - if (endpoint.method.isHttpMethod()) { - return ctx -> { - // wrap logic - endpoint.handler.handle(ctx); - }; - } - return endpoint.handler; -}); -{% endcapture %} -{% capture kotlin %} -config.router.handlerWrapper { endpoint -> - if (endpoint.method.isHttpMethod) { - Handler { ctx -> - // wrap logic - endpoint.handler.handle(ctx) - } - } else { - endpoint.handler - } -} -{% endcapture %} -{% include macros/docsSnippet.html java=java kotlin=kotlin %} - ### Context The `Context` object provides you with everything you need to handle a http-request. It contains the underlying servlet-request and servlet-response, and a bunch of getters @@ -403,7 +335,7 @@ async(asyncConfig, runnable) // same as above, but with additonal confi handlerType() // handler type of the current handler (BEFORE, AFTER, GET, etc) appData(typedKey) // get data from the Javalin instance (see app data section below) with(pluginClass) // get context plugin by class, see plugin section below -endpoint().path() // get the path that was used to match this request (ex, "/hello/{name}") +matchedPath() // get the path that was used to match this request (ex, "/hello/{name}") endpointHandlerPath() // get the path of the endpoint handler that was used to match this request cookieStore() // see cookie store section below skipRemainingHandlers() // skip all remaining handlers for this request @@ -493,12 +425,12 @@ Javalin has a very intuitive way of handling WebSockets. You declare an endpoint with a path and configure the different event handlers in a lambda: {% capture java %} -config.routes.ws("/websocket/{path}", ws -> { +app.ws("/websocket/{path}", ws -> { ws.onConnect(ctx -> System.out.println("Connected")); }); {% endcapture %} {% capture kotlin %} -config.routes.ws("/websocket/{path}") { ws -> +app.ws("/websocket/{path}") { ws -> ws.onConnect { ctx -> println("Connected") } } {% endcapture %} @@ -521,30 +453,30 @@ The differences between the different contexts is small, and a full overview can You can learn about how Javalin handles WebSocket concurrency in [FAQ - Concurrency](#concurrency). ### WsBefore -The `config.routes.wsBefore` adds a handler that runs before a WebSocket handler. +The `app.wsBefore` adds a handler that runs before a WebSocket handler. You can have as many before-handlers as you want per WebSocket endpoint, and all events are supported. {% capture java %} -config.routes.wsBefore(ws -> { +app.wsBefore(ws -> { // runs before all WebSocket requests }); -config.routes.wsBefore("/path/*", ws -> { +app.wsBefore("/path/*", ws -> { // runs before websocket requests to /path/* }); {% endcapture %} {% capture kotlin %} -config.routes.wsBefore { ws -> +app.wsBefore { ws -> // runs before all WebSocket requests } -config.routes.wsBefore("/path/*") { ws -> +app.wsBefore("/path/*") { ws -> // runs before websocket requests to /path/* } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} ### WsEndpoint -A WebSocket endpoint is declared with `config.routes.ws(path, handler)`. WebSocket handlers require unique paths. +A WebSocket endpoint is declared with `app.ws(path, handler)`. WebSocket handlers require unique paths. {% capture java %} -config.routes.ws("/websocket/{path}", ws -> { +app.ws("/websocket/{path}", ws -> { ws.onConnect(ctx -> System.out.println("Connected")); ws.onMessage(ctx -> { User user = ctx.messageAsClass(User.class); // convert from json @@ -556,7 +488,7 @@ config.routes.ws("/websocket/{path}", ws -> { }); {% endcapture %} {% capture kotlin %} -config.routes.ws("/websocket/{path}") { ws -> +app.ws("/websocket/{path}") { ws -> ws.onConnect { ctx -> println("Connected") } ws.onMessage { ctx -> val user = ctx.messageAsClass(); // convert from json @@ -570,22 +502,22 @@ config.routes.ws("/websocket/{path}") { ws -> {% include macros/docsSnippet.html java=java kotlin=kotlin %} ### WsAfter -The `config.routes.wsAfter` adds a handler that runs after a WebSocket handler. +The `app.wsAfter` adds a handler that runs after a WebSocket handler. You can have as many after-handlers as you want per WebSocket endpoint, and all events are supported. {% capture java %} -config.routes.wsAfter(ws -> { +app.wsAfter(ws -> { // runs after all WebSocket requests }); -config.routes.wsAfter("/path/*", ws -> { +app.wsAfter("/path/*", ws -> { // runs after websocket requests to /path/* }); {% endcapture %} {% capture kotlin %} -config.routes.wsAfter { ws -> +app.wsAfter { ws -> // runs after all WebSocket requests } -config.routes.wsAfter("/path/*") { ws -> +app.wsAfter("/path/*") { ws -> // runs after websocket requests to /path/* } {% endcapture %} @@ -604,7 +536,7 @@ send(byteBuffer) // send bytes to client sendAsClass(obj, clazz) // serialize object to json string and send it to client // Upgrade Context methods (getters) -endpoint().path() // get the path that was used to match this request (ex, "/hello/{name}") +matchedPath() // get the path that was used to match this request (ex, "/hello/{name}") host() // host as string queryParam("name") // query param by name as string @@ -679,7 +611,7 @@ you can use this safely in multiple locations and from multiple threads. You can import all the HTTP methods with `import static io.javalin.apibuilder.ApiBuilder.*`. {% capture java %} -config.routes.apiBuilder(() -> { +config.router.apiBuilder(() -> { path("/users", () -> { get(UserController::getAllUsers); post(UserController::createUser); @@ -693,7 +625,7 @@ config.routes.apiBuilder(() -> { }); {% endcapture %} {% capture kotlin %} -config.routes.apiBuilder { +config.router.apiBuilder { path("/users") { get(UserController::getAllUsers) post(UserController::createUser) @@ -715,12 +647,12 @@ This means that `path("api", ...)` and `path("/api", ...)` are equivalent. The `CrudHandler` is an interface that can be used within an `apiBuilder()` call: {% capture java %} -config.routes.apiBuilder(() -> { +config.router.apiBuilder(() -> { crud("users/{user-id}", new UserController()); }); {% endcapture %} {% capture kotlin %} -config.routes.apiBuilder { +config.router.apiBuilder { crud("users/{user-id}", UserController()) } {% endcapture %} @@ -855,7 +787,7 @@ val manyErrors = listOf(ageValidator, otherValidator, ...).collectErrors() When a `Validator` throws, it is mapped by: ```kotlin -config.routes.exception(ValidationException::class.java) { e, ctx -> +app.exception(ValidationException::class.java) { e, ctx -> ctx.json(e.errors).status(400) } ``` @@ -863,12 +795,12 @@ config.routes.exception(ValidationException::class.java) { e, ctx -> You can override this by doing: {% capture java %} -config.routes.exception(ValidationException.class, (e, ctx) -> { +app.exception(ValidationException.class, (e, ctx) -> { // your code }); {% endcapture %} {% capture kotlin %} -config.routes.exception(ValidationException::class.java) { e, ctx -> +app.exception(ValidationException::class.java) { e, ctx -> // your code } {% endcapture %} @@ -895,10 +827,10 @@ set per-endpoint authentication and/or authorization. In Javalin 6, this has bee replaced with the `beforeMatched` handler. You can read more about this in the [Javalin 5 to 6 migration guide](/migration-guide-javalin-5-to-6#the-accessmanager-interface-has-been-removed). -To manage access in Javalin 7, you would do something like this: +To manage access in Javalin 6, you would do something like this: {% capture java %} -config.routes.beforeMatched(ctx -> { +app.beforeMatched(ctx -> { var userRole = getUserRole(ctx); // some user defined function that returns a user role if (!ctx.routeRoles().contains(userRole)) { // routeRoles are provided through the Context interface throw new UnauthorizedResponse(); // request will have to be explicitly stopped by throwing an exception @@ -906,7 +838,7 @@ config.routes.beforeMatched(ctx -> { }); {% endcapture %} {% capture kotlin %} -config.routes.beforeMatched { ctx -> +app.beforeMatched { ctx -> val userRole = getUserRole(ctx) // some user defined function that returns a user role if (!ctx.routeRoles().contains(userRole)) { // routeRoles are provided through the Context interface throw UnauthorizedResponse() // request will have to be explicitly stopped by throwing an exception @@ -918,12 +850,12 @@ config.routes.beforeMatched { ctx -> The roles are set when you declare your endpoints: {% capture java %} -config.routes.get("/public", ctx -> ctx.result("Hello public"), Role.OPEN); -config.routes.get("/private", ctx -> ctx.result("Hello private"), Role.LOGGED_IN); +app.get("/public", ctx -> ctx.result("Hello public"), Role.OPEN); +app.get("/private", ctx -> ctx.result("Hello private"), Role.LOGGED_IN); {% endcapture %} {% capture kotlin %} -config.routes.get("/public", { ctx -> ctx.result("Hello public") }, Role.OPEN) -config.routes.get("/private", { ctx -> ctx.result("Hello private") }, Role.LOGGED_IN) +app.get("/public", { ctx -> ctx.result("Hello public") }, Role.OPEN) +app.get("/private", { ctx -> ctx.result("Hello private") }, Role.LOGGED_IN) {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -932,7 +864,7 @@ Javalin comes with a built in class called `HttpResponseException`, which can be If the client accepts JSON, a JSON object is returned. Otherwise a plain text response is returned. ```java -config.routes.post("/", ctx -> { throw new ForbiddenResponse("Off limits!"); }); +app.post("/") { throw new ForbiddenResponse("Off limits!") } ``` If client accepts JSON: ```java @@ -989,51 +921,47 @@ Returns a [504 Gateway Timeout](https://developer.mozilla.org/en-US/docs/Web/HTT ## Exception Mapping All handlers (before, endpoint, after, ws) can throw `Exception` (and any subclass of `Exception`). -The `config.routes.exception()` and `config.routes.wsException()` methods give you a way of handling these exceptions: +The `app.exception()` and `app.wsException()` methods gives you a way of handling these exceptions: {% capture java %} -Javalin.create(config -> { - // HTTP exceptions - config.routes.exception(NullPointerException.class, (e, ctx) -> { - // handle nullpointers here - }); +// HTTP exceptions +app.exception(NullPointerException.class, (e, ctx) -> { + // handle nullpointers here +}); - config.routes.exception(Exception.class, (e, ctx) -> { - // handle general exceptions here - // will not trigger if more specific exception-mapper found - }); +app.exception(Exception.class, (e, ctx) -> { + // handle general exceptions here + // will not trigger if more specific exception-mapper found +}); - // WebSocket exceptions - config.routes.wsException(NullPointerException.class, (e, ctx) -> { - // handle nullpointers here - }); +// WebSocket exceptions +app.wsException(NullPointerException.class, (e, ctx) -> { + // handle nullpointers here +}); - config.routes.wsException(Exception.class, (e, ctx) -> { - // handle general exceptions here - // will not trigger if more specific exception-mapper found - }); +app.wsException(Exception.class, (e, ctx) -> { + // handle general exceptions here + // will not trigger if more specific exception-mapper found }); {% endcapture %} {% capture kotlin %} -Javalin.create { config -> - // HTTP exceptions - config.routes.exception(NullPointerException::class.java) { e, ctx -> - // handle nullpointers here - } +// HTTP exceptions +app.exception(NullPointerException::class.java) { e, ctx -> + // handle nullpointers here +} - config.routes.exception(Exception::class.java) { e, ctx -> - // handle general exceptions here - // will not trigger if more specific exception-mapper found - } +app.exception(Exception::class.java) { e, ctx -> + // handle general exceptions here + // will not trigger if more specific exception-mapper found +} - // WebSocket exceptions - config.routes.wsException(NullPointerException::class.java) { e, ctx -> - // handle nullpointers here - } +// WebSocket exceptions +app.wsException(NullPointerException::class.java) { e, ctx -> + // handle nullpointers here +} - config.routes.wsException(Exception::class.java) { e, ctx -> - // handle general exceptions here - // will not trigger if more specific exception-mapper found - } +app.wsException(Exception::class.java) { e, ctx -> + // handle general exceptions here + // will not trigger if more specific exception-mapper found } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -1041,17 +969,13 @@ Javalin.create { config -> ## Error Mapping HTTP Error mapping is similar to exception mapping, but it operates on HTTP status codes instead of Exceptions: {% capture java %} -Javalin.create(config -> { - config.routes.error(404, ctx -> { - ctx.result("Generic 404 message"); - }); +app.error(404, ctx -> { + ctx.result("Generic 404 message"); }); {% endcapture %} {% capture kotlin %} -Javalin.create { config -> - config.routes.error(404) { ctx -> - ctx.result("Generic 404 message") - } +app.error(404) { ctx -> + ctx.result("Generic 404 message") } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -1059,23 +983,17 @@ Javalin.create { config -> It can make sense to use them together: {% capture java %} -Javalin.create(config -> { - config.routes.exception(FileNotFoundException.class, (e, ctx) -> { - ctx.status(404); - }); - config.routes.error(404, ctx -> { - ctx.result("Generic 404 message"); - }); +app.exception(FileNotFoundException.class, (e, ctx) -> { + ctx.status(404); +}).error(404, ctx -> { + ctx.result("Generic 404 message"); }); {% endcapture %} {% capture kotlin %} -Javalin.create { config -> - config.routes.exception(FileNotFoundException::class.java) { e, ctx -> - ctx.status(404) - } - config.routes.error(404) { ctx -> - ctx.result("Generic 404 message") - } +app.exception(FileNotFoundException::class.java) { e, ctx -> + ctx.status(404) +}.error(404) { ctx -> + ctx.result("Generic 404 message") } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -1083,17 +1001,13 @@ Javalin.create { config -> You can also include the content type when declaring your error mappers: {% capture java %} -Javalin.create(config -> { - config.routes.error(404, "html", ctx -> { - ctx.html("Generic 404 message"); - }); +app.error(404, "html", ctx -> { + ctx.html("Generic 404 message"); }); {% endcapture %} {% capture kotlin %} -Javalin.create { config -> - config.routes.error(404, "html") { ctx -> - ctx.html("Generic 404 message") - } +app.error(404, "html") { ctx -> + ctx.html("Generic 404 message") } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -1102,17 +1016,17 @@ This can be useful if you, for example, want one set of error handlers for HTML, ## Server-sent Events Server-sent events (often also called event source) are very simple in Javalin. -You call `config.routes.sse()`, which gives you access to the connected `SseClient`: +You call `app.sse()`, which gives you access to the connected `SseClient`: {% capture java %} -config.routes.sse("/sse", client -> { +app.sse("/sse", client -> { client.sendEvent("connected", "Hello, SSE"); client.onClose(() -> System.out.println("Client disconnected")); client.close(); // close the client }); {% endcapture %} {% capture kotlin %} -config.routes.sse("/sse") { client -> +app.sse("/sse") { client -> client.sendEvent("connected", "Hello, SSE") client.onClose { println("Client disconnected") } client.close() // close the client @@ -1125,7 +1039,7 @@ Clients are automatically closed when leaving the handler, if you need to use th {% capture java %} Queue clients = new ConcurrentLinkedQueue(); -config.routes.sse("/sse", client -> { +app.sse("/sse", client -> { client.keepAlive(); client.onClose(() - > clients.remove(client)); clients.add(client); @@ -1134,7 +1048,7 @@ config.routes.sse("/sse", client -> { {% capture kotlin %} val clients = ConcurrentLinkedQueue() -config.routes.sse("/sse") { client -> +app.sse("/sse") { client -> client.keepAlive() client.onClose { clients.remove(client) } clients.add(client) @@ -1177,14 +1091,13 @@ Javalin.create(config -> { config.useVirtualThreads // Use virtual threads (based on Java Project Loom) config.showJavalinBanner // Show the Javalin banner in the logs config.startupWatcherEnabled // Print warning if instance was not started after 5 seconds + config.pvt // This is "private", only use it if you know what you're doing config.events(listenerConfig) // Add an event listener config.jsonMapper(jsonMapper) // Set a custom JsonMapper config.fileRenderer(fileRenderer) // Set a custom FileRenderer config.registerPlugin(plugin) // Register a plugin config.appData(key, data) // Store data on the Javalin instance - - config.unsafe // Advanced/unsafe API providing access to internal Javalin configuration (use with caution) }); ``` @@ -1253,8 +1166,8 @@ Javalin.create { config -> ### JettyConfig {% capture java %} Javalin.create(config -> { - config.jetty.host = "localhost"; // set the host for Jetty - config.jetty.port = 1234; // set the port for Jetty + config.jetty.defaultHost = "localhost"; // set the default host for Jetty + config.jetty.defaultPort = 1234; // set the default port for Jetty config.jetty.threadPool = new ThreadPool(); // set the thread pool for Jetty config.jetty.timeoutStatus = 408; // set the timeout status for Jetty (default 500) config.jetty.clientAbortStatus = 499; // set the abort status for Jetty (default 500) @@ -1268,8 +1181,8 @@ Javalin.create(config -> { {% endcapture %} {% capture kotlin %} Javalin.create { config -> - config.jetty.host = "localhost" // set the host for Jetty - config.jetty.port = 1234 // set the port for Jetty + config.jetty.defaultHost = "localhost" // set the default host for Jetty + config.jetty.defaultPort = 1234 // set the default port for Jetty config.jetty.threadPool = ThreadPool() // set the thread pool for Jetty config.jetty.timeoutStatus = 408 // set the timeout status for Jetty (default 500) config.jetty.clientAbortStatus = 499 // set the abort status for Jetty (default 500) @@ -1329,7 +1242,7 @@ Javalin.create { config -> {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} -You can add a WebSocket logger by calling `config.requestLogger.ws()`. The method takes a the same arguments as a normal `config.routes.ws()` call, +You can add a WebSocket logger by calling `config.requestLogger.ws()`. The method takes a the same arguments as a normal `app.ws()` call, and can be used to log events of all types. The following example just shows `onMessage`, but `onConnect`, `onError` and `onClose` are all available: @@ -1447,25 +1360,6 @@ they will be available at `/webjars/name/version/file.ext`. WebJars can be found on [https://www.webjars.org/](https://www.webjars.org/). Everything available through NPM is also available through WebJars. -#### Jetty-free static file serving -If you want to serve static files without depending on Jetty's resource handling, -you can use the `JavalinStaticResourceHandler`: - -{% capture java %} -Javalin.create(config -> { - config.resourceHandler(new JavalinStaticResourceHandler()); -}); -{% endcapture %} -{% capture kotlin %} -Javalin.create { config -> - config.resourceHandler(JavalinStaticResourceHandler()) -} -{% endcapture %} -{% include macros/docsSnippet.html java=java kotlin=kotlin %} - -This is useful if you want to use Javalin with a different embedded server, -or if you want to avoid Jetty-specific dependencies for static file handling. - If you are building a Single Page Application (SPA), you should have a look at the [SpaRootConfig](#sparootconfig) @@ -1488,11 +1382,8 @@ dependency to your project: ### Server setup -Javalin runs on an embedded [Jetty](http://eclipse.org/jetty/). - -**Note:** Javalin 7 uses **Jetty 12** (previously Jetty 11), which means servlet packages have changed from `javax.servlet.*` to `jakarta.servlet.*`. - -To start and stop the server, use `start()` and `stop`: +Javalin runs on an embedded [Jetty](http://eclipse.org/jetty/). To start and stop the server, +use `start()` and `stop`: ```java Javalin app = Javalin.create() @@ -1500,36 +1391,20 @@ Javalin app = Javalin.create() .stop() // stop server (sync/blocking) ``` -There is also a convenience method `Javalin.start(config)` that creates and starts a Javalin instance in one call: - -{% capture java %} -Javalin app = Javalin.start(config -> { - config.jetty.port = 8080; - config.routes.get("/", ctx -> ctx.result("Hello World")); -}); -{% endcapture %} -{% capture kotlin %} -val app = Javalin.start { config -> - config.jetty.port = 8080 - config.routes.get("/") { ctx -> ctx.result("Hello World") } -} -{% endcapture %} -{% include macros/docsSnippet.html java=java kotlin=kotlin %} - The `app.start()` method spawns a user thread, starts the server, and then returns. Your program will not exit until this thread is terminated by calling `app.stop()`. If you want to do a clean shutdown when the program is exiting, you could use: ```java -Javalin app = Javalin.create(config -> { - config.events.serverStopping(() -> { /* Your code here */ }); - config.events.serverStopped(() -> { /* Your code here */ }); -}); - Runtime.getRuntime().addShutdownHook(new Thread(() -> { app.stop(); })); + +app.events(event -> { + event.serverStopping(() -> { /* Your code here */ }); + event.serverStopped(() -> { /* Your code here */ }); +}); ``` If you want graceful shutdown, you can configure the server using the `modifyServer` method: @@ -1602,28 +1477,28 @@ fully functioning example server in both Kotlin and Java: [javalin-http2-example Javalin has events for server start/stop, as well as for when handlers are added. The snippet below shows all of them in action: {% capture java %} -Javalin app = Javalin.create(config -> { - config.events.serverStarting(() -> { ... }); - config.events.serverStarted(() -> { ... }); - config.events.serverStartFailed(() -> { ... }); - config.events.serverStopping(() -> { ... }); - config.events.serverStopped(() -> { ... }); - config.events.handlerAdded(handlerMetaInfo -> { ... }); - config.events.wsHandlerAdded(wsHandlerMetaInfo -> { ... }); +Javalin app = Javalin.create().events(event -> { + event.serverStarting(() -> { ... }); + event.serverStarted(() -> { ... }); + event.serverStartFailed(() -> { ... }); + event.serverStopping(() -> { ... }); + event.serverStopped(() -> { ... }); + event.handlerAdded(handlerMetaInfo -> { ... }); + event.wsHandlerAdded(wsHandlerMetaInfo -> { ... }); }); app.start() // serverStarting -> (serverStarted || serverStartFailed) app.stop() // serverStopping -> serverStopped {% endcapture %} {% capture kotlin %} -Javalin app = Javalin.create { config -> - config.events.serverStarting { ... } - config.events.serverStarted { ... } - config.events.serverStartFailed { ... } - config.events.serverStopping { ... } - config.events.serverStopped { ... } - config.events.handlerAdded { handlerMetaInfo -> } - config.events.wsHandlerAdded { wsHandlerMetaInfo -> } +Javalin app = Javalin.create().events { event -> + event.serverStarting { ... } + event.serverStarted { ... } + event.serverStartFailed { ... } + event.serverStopping { ... } + event.serverStopped { ... } + event.handlerAdded { handlerMetaInfo -> } + event.wsHandlerAdded { wsHandlerMetaInfo -> } } app.start() // serverStarting -> (serverStarted || serverStartFailed) @@ -1644,12 +1519,13 @@ Frequently asked questions. The Javalin request lifecycle is pretty straightforward. The following snippet covers every place you can hook into: ```java -config.routes.before // runs first, can throw exception (which will skip any endpoint handlers) -config.routes.get/post/patch/etc // runs second, can throw exception -config.routes.error // runs third, can throw exception -config.routes.after // runs fourth, can throw exception -config.routes.exception // runs any time a handler throws (cannot throw exception) -JavalinConfig#requestLogger // runs after response is written to client +Javalin#before // runs first, can throw exception (which will skip any endpoint handlers) +Javalin#get/post/patch/etc // runs second, can throw exception +Javalin#error // runs third, can throw exception +Javalin#after // runs fourth, can throw exception +Javalin#exception // runs any time a handler throws (cannot throw exception) +JavalinConfig#requestLogger // runs after response is written to client +JavalinConfig#accessManager // wraps all your endpoint handlers in a lambda of your choice ``` --- @@ -1659,7 +1535,7 @@ There is a very simple rate limiter included in Javalin. You can call it in the beginning of your endpoint `Handler` functions: {% capture java %} -config.routes.get("/", ctx -> { +app.get("/", ctx -> { NaiveRateLimit.requestPerTimeUnit(ctx, 5, TimeUnit.MINUTES); // throws if rate limit is exceeded ctx.status("Hello, rate-limited World!"); }); @@ -1668,7 +1544,7 @@ config.routes.get("/", ctx -> { RateLimitUtil.keyFunction = ctx -> // uses (ip+method+endpointPath) by default {% endcapture %} {% capture kotlin %} -config.routes.get("/") { ctx -> +app.get("/") { ctx -> NaiveRateLimit.requestPerTimeUnit(ctx, 5, TimeUnit.MINUTES) // throws if rate limit is exceeded ctx.status("Hello, rate-limited World!") } @@ -1770,18 +1646,17 @@ on another web server (such as Tomcat), you can use Maven or Gradle to exclude J ### Uploads Uploaded files are easily accessible via `ctx.uploadedFiles()`: {% capture java %} -config.routes.post("/upload", ctx -> { +app.post("/upload", ctx -> { ctx.uploadedFiles("files").forEach(uploadedFile -> FileUtil.streamToFile(uploadedFile.content(), "upload/" + uploadedFile.filename())); }); {% endcapture %} {% capture kotlin %} -config.routes.post("/upload") { ctx -> +app.post("/upload") { ctx -> ctx.uploadedFiles("files").forEach { uploadedFile -> FileUtil.streamToFile(uploadedFile.content(), "upload/${uploadedFile.filename()}") } } -} {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -1828,7 +1703,7 @@ private fun getRandomCatFactFuture(): CompletableFuture> { Now we can use this method in our Javalin app to return cat facts to the client asynchronously: {% capture java %} -config.routes.get("/cat-facts", ctx -> { +app.get("/cat-facts", ctx -> { ctx.future(() -> { return getRandomCatFactFuture() .thenAccept(response -> ctx.html(response.body()).status(response.statusCode())) @@ -1840,7 +1715,7 @@ config.routes.get("/cat-facts", ctx -> { }); {% endcapture %} {% capture kotlin %} -config.routes.get("/cat-facts") { ctx -> +app.get("/cat-facts") { ctx -> ctx.future { getRandomCatFactFuture() .thenAccept { response -> ctx.html(response.body()).status(response.statusCode()) } @@ -1878,7 +1753,7 @@ once the task is done. The snippet belows shows a full example with a custom timeout, timeout handler, and a task: {% capture java %} -config.routes.get("/async", ctx -> { +app.get("/async", ctx -> { ctx.async( 1000, // timeout in ms () -> ctx.result("Request took too long"), // timeout callback @@ -1887,7 +1762,8 @@ config.routes.get("/async", ctx -> { }); {% endcapture %} {% capture kotlin %} -config.routes.get("/async") { ctx -> + +app.get("/async") { ctx -> ctx.async( 1000, // timeout in ms { ctx.result("Request took too long") }, // timeout callback @@ -2028,24 +1904,6 @@ about this at [/plugins/rendering](/plugins/rendering). ### Vue support (JavalinVue) If you don't want to deal with NPM and frontend builds, Javalin has support for simplified Vue.js development. - -**Note:** In Javalin 7, JavalinVue is now a plugin. You need to register it using `config.registerPlugin(new JavalinVuePlugin(...))`. - -**Note:** The `LoadableData` JavaScript class is no longer included by default. -If you want to use `LoadableData`, you need to explicitly enable it: - -{% capture java %} -config.registerPlugin(new JavalinVuePlugin(vue -> { - vue.enableLoadableData = true; -})); -{% endcapture %} -{% capture kotlin %} -config.registerPlugin(JavalinVuePlugin { vue -> - vue.enableLoadableData = true -}) -{% endcapture %} -{% include macros/docsSnippet.html java=java kotlin=kotlin %} - This requires you to make a layout template, `src/main/resources/vue/layout.html`: ```markup @@ -2105,19 +1963,19 @@ which is 30 seconds by default in Jetty/Javalin. This is not a bug. ### Java lang Error handling Javalin has a default error handler for `java.lang.Error` that will log the error and return a 500. -The default error handler can be overridden using `config.router`: +The default error handler can be overridden using the private config: {% capture java %} -Javalin.create(config -> { - config.router.javaLangErrorHandler((res, error) -> { +Javalin.create( cfg -> { + cfg.pvt.javaLangErrorHandler((res, error) -> { res.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.getCode()); JavalinLogger.error("Exception occurred while servicing http-request", error); }); }); {% endcapture %} {% capture kotlin %} -Javalin.create { config -> - config.router.javaLangErrorHandler { res, error -> +Javalin.create { cfg -> + cfg.pvt.javaLangErrorHandler { res, error -> res.status = HttpStatus.INTERNAL_SERVER_ERROR.code JavalinLogger.error("Exception occurred while servicing http-request", error) } diff --git a/pages/docs/docs.md b/pages/docs/docs.md index d2c8dbec..0039ed05 100644 --- a/pages/docs/docs.md +++ b/pages/docs/docs.md @@ -13,6 +13,7 @@ permalink: /documentation - [Before](#before-handlers) - [Endpoint](#endpoint-handlers) - [After](#after-handlers) + - [Wrapper](#wrapper-handlers) - [Context (ctx)](#context) - [WebSockets](#websockets) - [Before](#wsbefore) @@ -65,11 +66,10 @@ permalink: /documentation - [Documentation for previous versions](#documentation-for-previous-versions) -

Documentation

+

Documentation - Javalin 7

-The documentation is for the latest version of Javalin, currently `{{site.javalinversion}}`. -Javalin follows [semantic versioning](http://semver.org/), meaning there are no breaking -changes unless the major (leftmost) digit changes, for example `5.X.X` to `6.X.X`. +Javalin 7 requires **Java 17+**, and uses **Kotlin 2+** and **Jetty 12+** internally. +See the [migration guide](/migration-guide-javalin-6-to-7) for details on upgrading from Javalin 6. Javalin follows [semantic versioning](http://semver.org/), meaning there are no breaking changes unless the major (leftmost) digit changes, for example `6.X.X` to `7.X.X`. {% include sponsorOrStar.html %} @@ -81,6 +81,11 @@ Add the dependency: Start coding: {% include macros/gettingStarted.md %} +
+**Important change in Javalin 7:** Routes must now be defined in the `config.routes` block during application creation. +You can no longer add routes after calling `.start()`. See the [migration guide](/migration-guide-javalin-6-to-7) for details. +
+ ## Handlers Javalin has three main handler types: before-handlers, endpoint-handlers, and after-handlers. (There are also exception-handlers and error-handlers, but we'll get to them later). @@ -103,33 +108,33 @@ Before-handlers are matched before every request (including static files).
You might know before-handlers as filters, interceptors, or middleware from other libraries.
{% capture java %} -app.before(ctx -> { +config.routes.before(ctx -> { // runs before all requests }); -app.before("/path/*", ctx -> { +config.routes.before("/path/*", ctx -> { // runs before request to /path/* }); {% endcapture %} {% capture kotlin %} -app.before { ctx -> +config.routes.before { ctx -> // runs before all requests } -app.before("/path/*") { ctx -> +config.routes.before("/path/*") { ctx -> // runs before request to /path/* } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} In some cases, you might want to only run a before-handler if the request will be matched (not 404). -In this case you can use the `app.beforeMatched` method: +In this case you can use the `config.routes.beforeMatched` method: {% capture java %} -app.beforeMatched(ctx -> { +config.routes.beforeMatched(ctx -> { // runs before all matched requests (including static files) }); {% endcapture %} {% capture kotlin %} -app.beforeMatched { ctx -> +config.routes.beforeMatched { ctx -> // runs before all matched requests (including static files) } {% endcapture %} @@ -139,31 +144,34 @@ app.beforeMatched { ctx -> ### Endpoint handlers Endpoint handlers are the main handler type, and defines your API. You can add a GET handler to serve data to a client, or a POST handler to receive some data. -Common methods are supported directly on the `Javalin` class (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS), -uncommon operations (TRACE, CONNECT) are supported via `Javalin#addHandler`. +Common methods are supported via `config.routes` (GET, POST, QUERY, PUT, PATCH, DELETE, HEAD, OPTIONS), +uncommon operations (TRACE, CONNECT) are supported via `config.routes.addHandler`. + +The [QUERY method](https://httpwg.org/http-extensions/draft-ietf-httpbis-safe-method-w-body.html) is similar to GET, +but allows a request body. This is useful for complex queries that don't fit in a URL. Endpoint-handlers are matched in the order they are defined.
You might know endpoint-handlers as routes or middleware from other libraries.
{% capture java %} -app.get("/output", ctx -> { +config.routes.get("/output", ctx -> { // some code ctx.json(object); }); -app.post("/input", ctx -> { +config.routes.post("/input", ctx -> { // some code ctx.status(201); }); {% endcapture %} {% capture kotlin %} -app.get("/output") { ctx -> +config.routes.get("/output") { ctx -> // some code ctx.json(object) } -app.post("/input") { ctx -> +config.routes.post("/input") { ctx -> // some code ctx.status(201) } @@ -172,18 +180,18 @@ app.post("/input") { ctx -> Handler paths can include path-parameters. These are available via `ctx.pathParam("key")`: {% capture java %} -app.get("/hello/{name}", ctx -> { // the {} syntax does not allow slashes ('/') as part of the parameter +config.routes.get("/hello/{name}", ctx -> { // the {} syntax does not allow slashes ('/') as part of the parameter ctx.result("Hello: " + ctx.pathParam("name")); }); -app.get("/hello/", ctx -> { // the <> syntax allows slashes ('/') as part of the parameter +config.routes.get("/hello/", ctx -> { // the <> syntax allows slashes ('/') as part of the parameter ctx.result("Hello: " + ctx.pathParam("name")); }); {% endcapture %} {% capture kotlin %} -app.get("/hello/{name}") { ctx -> // the {} syntax does not allow slashes ('/') as part of the parameter +config.routes.get("/hello/{name}") { ctx -> // the {} syntax does not allow slashes ('/') as part of the parameter ctx.result("Hello: " + ctx.pathParam("name")) } -app.get("/hello/") { ctx -> // the <> syntax allows slashes ('/') as part of the parameter +config.routes.get("/hello/") { ctx -> // the <> syntax allows slashes ('/') as part of the parameter ctx.result("Hello: " + ctx.pathParam("name")) } {% endcapture %} @@ -192,13 +200,13 @@ app.get("/hello/") { ctx -> // the <> syntax allows slashes ('/') as part Handler paths can also include wildcard parameters: {% capture java %} -app.get("/path/*", ctx -> { // will match anything starting with /path/ - ctx.result("You are here because " + ctx.path() + " matches " + ctx.matchedPath()); +config.routes.get("/path/*", ctx -> { // will match anything starting with /path/ + ctx.result("You are here because " + ctx.path() + " matches " + ctx.endpoint().path()); }); {% endcapture %} {% capture kotlin %} -app.get("/path/*") { ctx -> // will match anything starting with /path/ - ctx.result("You are here because " + ctx.path() + " matches " + ctx.matchedPath()) +config.routes.get("/path/*") { ctx -> // will match anything starting with /path/ + ctx.result("You are here because " + ctx.path() + " matches " + ctx.endpoint().path()) } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -211,38 +219,87 @@ After-handlers run after every request (even if an exception occurred)
You might know after-handlers as filters, interceptors, or middleware from other libraries.
{% capture java %} -app.after(ctx -> { +config.routes.after(ctx -> { // run after all requests }); -app.after("/path/*", ctx -> { +config.routes.after("/path/*", ctx -> { // runs after request to /path/* }); {% endcapture %} {% capture kotlin %} -app.after { ctx -> +config.routes.after { ctx -> // run after all requests } -app.after("/path/*") { ctx -> +config.routes.after("/path/*") { ctx -> // runs after request to /path/* } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} In some cases, you might want to only run an after-handler if the request will be matched (not 404). -In this case you can use the `app.afterMatched` method: +In this case you can use the `config.routes.afterMatched` method: {% capture java %} -app.afterMatched(ctx -> { +config.routes.afterMatched(ctx -> { // runs after all matched requests (including static files) }); {% endcapture %} {% capture kotlin %} -app.afterMatched { ctx -> +config.routes.afterMatched { ctx -> // runs after all matched requests (including static files) } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} +### Wrapper handlers +Wrapper-handlers run "around" endpoint handlers. The `HandlerWrapper` functional interface +receives an `Endpoint` (with `method`, `path`, and `handler`) and returns a new `Handler` that wraps the original. + +This is useful for propagating context like `ThreadLocal` or `ScopedValue`: + +{% capture java %} +config.router.handlerWrapper(endpoint -> ctx -> { + ScopedValue.where(MY_VALUE, "something").run(() -> { + endpoint.handler.handle(ctx); + }); +}); +{% endcapture %} +{% capture kotlin %} +config.router.handlerWrapper { endpoint -> Handler { ctx -> + ScopedValue.where(MY_VALUE, "something").run { + endpoint.handler.handle(ctx) + } +}} +{% endcapture %} +{% include macros/docsSnippet.html java=java kotlin=kotlin %} + +You can also wrap only HTTP endpoints (excluding before/after handlers): + +{% capture java %} +config.router.handlerWrapper(endpoint -> { + if (endpoint.method.isHttpMethod()) { + return ctx -> { + // wrap logic + endpoint.handler.handle(ctx); + }; + } + return endpoint.handler; +}); +{% endcapture %} +{% capture kotlin %} +config.router.handlerWrapper { endpoint -> + if (endpoint.method.isHttpMethod) { + Handler { ctx -> + // wrap logic + endpoint.handler.handle(ctx) + } + } else { + endpoint.handler + } +} +{% endcapture %} +{% include macros/docsSnippet.html java=java kotlin=kotlin %} + ### Context The `Context` object provides you with everything you need to handle a http-request. It contains the underlying servlet-request and servlet-response, and a bunch of getters @@ -335,7 +392,7 @@ async(asyncConfig, runnable) // same as above, but with additonal confi handlerType() // handler type of the current handler (BEFORE, AFTER, GET, etc) appData(typedKey) // get data from the Javalin instance (see app data section below) with(pluginClass) // get context plugin by class, see plugin section below -matchedPath() // get the path that was used to match this request (ex, "/hello/{name}") +endpoint().path() // get the path that was used to match this request (ex, "/hello/{name}") endpointHandlerPath() // get the path of the endpoint handler that was used to match this request cookieStore() // see cookie store section below skipRemainingHandlers() // skip all remaining handlers for this request @@ -425,12 +482,12 @@ Javalin has a very intuitive way of handling WebSockets. You declare an endpoint with a path and configure the different event handlers in a lambda: {% capture java %} -app.ws("/websocket/{path}", ws -> { +config.routes.ws("/websocket/{path}", ws -> { ws.onConnect(ctx -> System.out.println("Connected")); }); {% endcapture %} {% capture kotlin %} -app.ws("/websocket/{path}") { ws -> +config.routes.ws("/websocket/{path}") { ws -> ws.onConnect { ctx -> println("Connected") } } {% endcapture %} @@ -453,30 +510,30 @@ The differences between the different contexts is small, and a full overview can You can learn about how Javalin handles WebSocket concurrency in [FAQ - Concurrency](#concurrency). ### WsBefore -The `app.wsBefore` adds a handler that runs before a WebSocket handler. +The `config.routes.wsBefore` adds a handler that runs before a WebSocket handler. You can have as many before-handlers as you want per WebSocket endpoint, and all events are supported. {% capture java %} -app.wsBefore(ws -> { +config.routes.wsBefore(ws -> { // runs before all WebSocket requests }); -app.wsBefore("/path/*", ws -> { +config.routes.wsBefore("/path/*", ws -> { // runs before websocket requests to /path/* }); {% endcapture %} {% capture kotlin %} -app.wsBefore { ws -> +config.routes.wsBefore { ws -> // runs before all WebSocket requests } -app.wsBefore("/path/*") { ws -> +config.routes.wsBefore("/path/*") { ws -> // runs before websocket requests to /path/* } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} ### WsEndpoint -A WebSocket endpoint is declared with `app.ws(path, handler)`. WebSocket handlers require unique paths. +A WebSocket endpoint is declared with `config.routes.ws(path, handler)`. WebSocket handlers require unique paths. {% capture java %} -app.ws("/websocket/{path}", ws -> { +config.routes.ws("/websocket/{path}", ws -> { ws.onConnect(ctx -> System.out.println("Connected")); ws.onMessage(ctx -> { User user = ctx.messageAsClass(User.class); // convert from json @@ -488,7 +545,7 @@ app.ws("/websocket/{path}", ws -> { }); {% endcapture %} {% capture kotlin %} -app.ws("/websocket/{path}") { ws -> +config.routes.ws("/websocket/{path}") { ws -> ws.onConnect { ctx -> println("Connected") } ws.onMessage { ctx -> val user = ctx.messageAsClass(); // convert from json @@ -502,22 +559,22 @@ app.ws("/websocket/{path}") { ws -> {% include macros/docsSnippet.html java=java kotlin=kotlin %} ### WsAfter -The `app.wsAfter` adds a handler that runs after a WebSocket handler. +The `config.routes.wsAfter` adds a handler that runs after a WebSocket handler. You can have as many after-handlers as you want per WebSocket endpoint, and all events are supported. {% capture java %} -app.wsAfter(ws -> { +config.routes.wsAfter(ws -> { // runs after all WebSocket requests }); -app.wsAfter("/path/*", ws -> { +config.routes.wsAfter("/path/*", ws -> { // runs after websocket requests to /path/* }); {% endcapture %} {% capture kotlin %} -app.wsAfter { ws -> +config.routes.wsAfter { ws -> // runs after all WebSocket requests } -app.wsAfter("/path/*") { ws -> +config.routes.wsAfter("/path/*") { ws -> // runs after websocket requests to /path/* } {% endcapture %} @@ -536,7 +593,7 @@ send(byteBuffer) // send bytes to client sendAsClass(obj, clazz) // serialize object to json string and send it to client // Upgrade Context methods (getters) -matchedPath() // get the path that was used to match this request (ex, "/hello/{name}") +endpoint().path() // get the path that was used to match this request (ex, "/hello/{name}") host() // host as string queryParam("name") // query param by name as string @@ -611,7 +668,7 @@ you can use this safely in multiple locations and from multiple threads. You can import all the HTTP methods with `import static io.javalin.apibuilder.ApiBuilder.*`. {% capture java %} -config.router.apiBuilder(() -> { +config.routes.apiBuilder(() -> { path("/users", () -> { get(UserController::getAllUsers); post(UserController::createUser); @@ -625,7 +682,7 @@ config.router.apiBuilder(() -> { }); {% endcapture %} {% capture kotlin %} -config.router.apiBuilder { +config.routes.apiBuilder { path("/users") { get(UserController::getAllUsers) post(UserController::createUser) @@ -647,12 +704,12 @@ This means that `path("api", ...)` and `path("/api", ...)` are equivalent. The `CrudHandler` is an interface that can be used within an `apiBuilder()` call: {% capture java %} -config.router.apiBuilder(() -> { +config.routes.apiBuilder(() -> { crud("users/{user-id}", new UserController()); }); {% endcapture %} {% capture kotlin %} -config.router.apiBuilder { +config.routes.apiBuilder { crud("users/{user-id}", UserController()) } {% endcapture %} @@ -787,7 +844,7 @@ val manyErrors = listOf(ageValidator, otherValidator, ...).collectErrors() When a `Validator` throws, it is mapped by: ```kotlin -app.exception(ValidationException::class.java) { e, ctx -> +config.routes.exception(ValidationException::class.java) { e, ctx -> ctx.json(e.errors).status(400) } ``` @@ -795,12 +852,12 @@ app.exception(ValidationException::class.java) { e, ctx -> You can override this by doing: {% capture java %} -app.exception(ValidationException.class, (e, ctx) -> { +config.routes.exception(ValidationException.class, (e, ctx) -> { // your code }); {% endcapture %} {% capture kotlin %} -app.exception(ValidationException::class.java) { e, ctx -> +config.routes.exception(ValidationException::class.java) { e, ctx -> // your code } {% endcapture %} @@ -827,10 +884,10 @@ set per-endpoint authentication and/or authorization. In Javalin 6, this has bee replaced with the `beforeMatched` handler. You can read more about this in the [Javalin 5 to 6 migration guide](/migration-guide-javalin-5-to-6#the-accessmanager-interface-has-been-removed). -To manage access in Javalin 6, you would do something like this: +To manage access in Javalin 7, you would do something like this: {% capture java %} -app.beforeMatched(ctx -> { +config.routes.beforeMatched(ctx -> { var userRole = getUserRole(ctx); // some user defined function that returns a user role if (!ctx.routeRoles().contains(userRole)) { // routeRoles are provided through the Context interface throw new UnauthorizedResponse(); // request will have to be explicitly stopped by throwing an exception @@ -838,7 +895,7 @@ app.beforeMatched(ctx -> { }); {% endcapture %} {% capture kotlin %} -app.beforeMatched { ctx -> +config.routes.beforeMatched { ctx -> val userRole = getUserRole(ctx) // some user defined function that returns a user role if (!ctx.routeRoles().contains(userRole)) { // routeRoles are provided through the Context interface throw UnauthorizedResponse() // request will have to be explicitly stopped by throwing an exception @@ -850,12 +907,12 @@ app.beforeMatched { ctx -> The roles are set when you declare your endpoints: {% capture java %} -app.get("/public", ctx -> ctx.result("Hello public"), Role.OPEN); -app.get("/private", ctx -> ctx.result("Hello private"), Role.LOGGED_IN); +config.routes.get("/public", ctx -> ctx.result("Hello public"), Role.OPEN); +config.routes.get("/private", ctx -> ctx.result("Hello private"), Role.LOGGED_IN); {% endcapture %} {% capture kotlin %} -app.get("/public", { ctx -> ctx.result("Hello public") }, Role.OPEN) -app.get("/private", { ctx -> ctx.result("Hello private") }, Role.LOGGED_IN) +config.routes.get("/public", { ctx -> ctx.result("Hello public") }, Role.OPEN) +config.routes.get("/private", { ctx -> ctx.result("Hello private") }, Role.LOGGED_IN) {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -864,7 +921,7 @@ Javalin comes with a built in class called `HttpResponseException`, which can be If the client accepts JSON, a JSON object is returned. Otherwise a plain text response is returned. ```java -app.post("/") { throw new ForbiddenResponse("Off limits!") } +config.routes.post("/", ctx -> { throw new ForbiddenResponse("Off limits!"); }); ``` If client accepts JSON: ```java @@ -921,47 +978,51 @@ Returns a [504 Gateway Timeout](https://developer.mozilla.org/en-US/docs/Web/HTT ## Exception Mapping All handlers (before, endpoint, after, ws) can throw `Exception` (and any subclass of `Exception`). -The `app.exception()` and `app.wsException()` methods gives you a way of handling these exceptions: +The `config.routes.exception()` and `config.routes.wsException()` methods give you a way of handling these exceptions: {% capture java %} -// HTTP exceptions -app.exception(NullPointerException.class, (e, ctx) -> { - // handle nullpointers here -}); +Javalin.create(config -> { + // HTTP exceptions + config.routes.exception(NullPointerException.class, (e, ctx) -> { + // handle nullpointers here + }); -app.exception(Exception.class, (e, ctx) -> { - // handle general exceptions here - // will not trigger if more specific exception-mapper found -}); + config.routes.exception(Exception.class, (e, ctx) -> { + // handle general exceptions here + // will not trigger if more specific exception-mapper found + }); -// WebSocket exceptions -app.wsException(NullPointerException.class, (e, ctx) -> { - // handle nullpointers here -}); + // WebSocket exceptions + config.routes.wsException(NullPointerException.class, (e, ctx) -> { + // handle nullpointers here + }); -app.wsException(Exception.class, (e, ctx) -> { - // handle general exceptions here - // will not trigger if more specific exception-mapper found + config.routes.wsException(Exception.class, (e, ctx) -> { + // handle general exceptions here + // will not trigger if more specific exception-mapper found + }); }); {% endcapture %} {% capture kotlin %} -// HTTP exceptions -app.exception(NullPointerException::class.java) { e, ctx -> - // handle nullpointers here -} +Javalin.create { config -> + // HTTP exceptions + config.routes.exception(NullPointerException::class.java) { e, ctx -> + // handle nullpointers here + } -app.exception(Exception::class.java) { e, ctx -> - // handle general exceptions here - // will not trigger if more specific exception-mapper found -} + config.routes.exception(Exception::class.java) { e, ctx -> + // handle general exceptions here + // will not trigger if more specific exception-mapper found + } -// WebSocket exceptions -app.wsException(NullPointerException::class.java) { e, ctx -> - // handle nullpointers here -} + // WebSocket exceptions + config.routes.wsException(NullPointerException::class.java) { e, ctx -> + // handle nullpointers here + } -app.wsException(Exception::class.java) { e, ctx -> - // handle general exceptions here - // will not trigger if more specific exception-mapper found + config.routes.wsException(Exception::class.java) { e, ctx -> + // handle general exceptions here + // will not trigger if more specific exception-mapper found + } } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -969,13 +1030,17 @@ app.wsException(Exception::class.java) { e, ctx -> ## Error Mapping HTTP Error mapping is similar to exception mapping, but it operates on HTTP status codes instead of Exceptions: {% capture java %} -app.error(404, ctx -> { - ctx.result("Generic 404 message"); +Javalin.create(config -> { + config.routes.error(404, ctx -> { + ctx.result("Generic 404 message"); + }); }); {% endcapture %} {% capture kotlin %} -app.error(404) { ctx -> - ctx.result("Generic 404 message") +Javalin.create { config -> + config.routes.error(404) { ctx -> + ctx.result("Generic 404 message") + } } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -983,17 +1048,23 @@ app.error(404) { ctx -> It can make sense to use them together: {% capture java %} -app.exception(FileNotFoundException.class, (e, ctx) -> { - ctx.status(404); -}).error(404, ctx -> { - ctx.result("Generic 404 message"); +Javalin.create(config -> { + config.routes.exception(FileNotFoundException.class, (e, ctx) -> { + ctx.status(404); + }); + config.routes.error(404, ctx -> { + ctx.result("Generic 404 message"); + }); }); {% endcapture %} {% capture kotlin %} -app.exception(FileNotFoundException::class.java) { e, ctx -> - ctx.status(404) -}.error(404) { ctx -> - ctx.result("Generic 404 message") +Javalin.create { config -> + config.routes.exception(FileNotFoundException::class.java) { e, ctx -> + ctx.status(404) + } + config.routes.error(404) { ctx -> + ctx.result("Generic 404 message") + } } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -1001,13 +1072,17 @@ app.exception(FileNotFoundException::class.java) { e, ctx -> You can also include the content type when declaring your error mappers: {% capture java %} -app.error(404, "html", ctx -> { - ctx.html("Generic 404 message"); +Javalin.create(config -> { + config.routes.error(404, "html", ctx -> { + ctx.html("Generic 404 message"); + }); }); {% endcapture %} {% capture kotlin %} -app.error(404, "html") { ctx -> - ctx.html("Generic 404 message") +Javalin.create { config -> + config.routes.error(404, "html") { ctx -> + ctx.html("Generic 404 message") + } } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -1016,17 +1091,17 @@ This can be useful if you, for example, want one set of error handlers for HTML, ## Server-sent Events Server-sent events (often also called event source) are very simple in Javalin. -You call `app.sse()`, which gives you access to the connected `SseClient`: +You call `config.routes.sse()`, which gives you access to the connected `SseClient`: {% capture java %} -app.sse("/sse", client -> { +config.routes.sse("/sse", client -> { client.sendEvent("connected", "Hello, SSE"); client.onClose(() -> System.out.println("Client disconnected")); client.close(); // close the client }); {% endcapture %} {% capture kotlin %} -app.sse("/sse") { client -> +config.routes.sse("/sse") { client -> client.sendEvent("connected", "Hello, SSE") client.onClose { println("Client disconnected") } client.close() // close the client @@ -1039,7 +1114,7 @@ Clients are automatically closed when leaving the handler, if you need to use th {% capture java %} Queue clients = new ConcurrentLinkedQueue(); -app.sse("/sse", client -> { +config.routes.sse("/sse", client -> { client.keepAlive(); client.onClose(() - > clients.remove(client)); clients.add(client); @@ -1048,7 +1123,7 @@ app.sse("/sse", client -> { {% capture kotlin %} val clients = ConcurrentLinkedQueue() -app.sse("/sse") { client -> +config.routes.sse("/sse") { client -> client.keepAlive() client.onClose { clients.remove(client) } clients.add(client) @@ -1085,19 +1160,19 @@ Javalin.create(config -> { config.requestLogger // Request Logger configuration: http and websocket loggers config.bundledPlugins // Bundled plugins configuration: enable bundled plugins or add custom ones config.events // Events configuration - config.vue // Vue Plugin configuration config.contextResolver // Context resolver implementation configuration config.validation // Default validator configuration config.useVirtualThreads // Use virtual threads (based on Java Project Loom) config.showJavalinBanner // Show the Javalin banner in the logs config.startupWatcherEnabled // Print warning if instance was not started after 5 seconds - config.pvt // This is "private", only use it if you know what you're doing config.events(listenerConfig) // Add an event listener config.jsonMapper(jsonMapper) // Set a custom JsonMapper config.fileRenderer(fileRenderer) // Set a custom FileRenderer config.registerPlugin(plugin) // Register a plugin config.appData(key, data) // Store data on the Javalin instance + + config.unsafe // Advanced/unsafe API providing access to internal Javalin configuration (use with caution) }); ``` @@ -1166,8 +1241,8 @@ Javalin.create { config -> ### JettyConfig {% capture java %} Javalin.create(config -> { - config.jetty.defaultHost = "localhost"; // set the default host for Jetty - config.jetty.defaultPort = 1234; // set the default port for Jetty + config.jetty.host = "localhost"; // set the host for Jetty + config.jetty.port = 1234; // set the port for Jetty config.jetty.threadPool = new ThreadPool(); // set the thread pool for Jetty config.jetty.timeoutStatus = 408; // set the timeout status for Jetty (default 500) config.jetty.clientAbortStatus = 499; // set the abort status for Jetty (default 500) @@ -1181,8 +1256,8 @@ Javalin.create(config -> { {% endcapture %} {% capture kotlin %} Javalin.create { config -> - config.jetty.defaultHost = "localhost" // set the default host for Jetty - config.jetty.defaultPort = 1234 // set the default port for Jetty + config.jetty.host = "localhost" // set the host for Jetty + config.jetty.port = 1234 // set the port for Jetty config.jetty.threadPool = ThreadPool() // set the thread pool for Jetty config.jetty.timeoutStatus = 408 // set the timeout status for Jetty (default 500) config.jetty.clientAbortStatus = 499 // set the abort status for Jetty (default 500) @@ -1242,7 +1317,7 @@ Javalin.create { config -> {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} -You can add a WebSocket logger by calling `config.requestLogger.ws()`. The method takes a the same arguments as a normal `app.ws()` call, +You can add a WebSocket logger by calling `config.requestLogger.ws()`. The method takes a the same arguments as a normal `config.routes.ws()` call, and can be used to log events of all types. The following example just shows `onMessage`, but `onConnect`, `onError` and `onClose` are all available: @@ -1360,6 +1435,25 @@ they will be available at `/webjars/name/version/file.ext`. WebJars can be found on [https://www.webjars.org/](https://www.webjars.org/). Everything available through NPM is also available through WebJars. +#### Jetty-free static file serving +If you want to serve static files without depending on Jetty's resource handling, +you can use the `JavalinStaticResourceHandler`: + +{% capture java %} +Javalin.create(config -> { + config.resourceHandler(new JavalinStaticResourceHandler()); +}); +{% endcapture %} +{% capture kotlin %} +Javalin.create { config -> + config.resourceHandler(JavalinStaticResourceHandler()) +} +{% endcapture %} +{% include macros/docsSnippet.html java=java kotlin=kotlin %} + +This is useful if you want to use Javalin with a different embedded server, +or if you want to avoid Jetty-specific dependencies for static file handling. + If you are building a Single Page Application (SPA), you should have a look at the [SpaRootConfig](#sparootconfig) @@ -1382,8 +1476,11 @@ dependency to your project: ### Server setup -Javalin runs on an embedded [Jetty](http://eclipse.org/jetty/). To start and stop the server, -use `start()` and `stop`: +Javalin runs on an embedded [Jetty](http://eclipse.org/jetty/). + +**Note:** Javalin 7 uses **Jetty 12** (previously Jetty 11), which means servlet packages have changed from `javax.servlet.*` to `jakarta.servlet.*`. + +To start and stop the server, use `start()` and `stop`: ```java Javalin app = Javalin.create() @@ -1391,20 +1488,36 @@ Javalin app = Javalin.create() .stop() // stop server (sync/blocking) ``` +There is also a convenience method `Javalin.start(config)` that creates and starts a Javalin instance in one call: + +{% capture java %} +Javalin app = Javalin.start(config -> { + config.jetty.port = 8080; + config.routes.get("/", ctx -> ctx.result("Hello World")); +}); +{% endcapture %} +{% capture kotlin %} +val app = Javalin.start { config -> + config.jetty.port = 8080 + config.routes.get("/") { ctx -> ctx.result("Hello World") } +} +{% endcapture %} +{% include macros/docsSnippet.html java=java kotlin=kotlin %} + The `app.start()` method spawns a user thread, starts the server, and then returns. Your program will not exit until this thread is terminated by calling `app.stop()`. If you want to do a clean shutdown when the program is exiting, you could use: ```java +Javalin app = Javalin.create(config -> { + config.events.serverStopping(() -> { /* Your code here */ }); + config.events.serverStopped(() -> { /* Your code here */ }); +}); + Runtime.getRuntime().addShutdownHook(new Thread(() -> { app.stop(); })); - -app.events(event -> { - event.serverStopping(() -> { /* Your code here */ }); - event.serverStopped(() -> { /* Your code here */ }); -}); ``` If you want graceful shutdown, you can configure the server using the `modifyServer` method: @@ -1477,28 +1590,28 @@ fully functioning example server in both Kotlin and Java: [javalin-http2-example Javalin has events for server start/stop, as well as for when handlers are added. The snippet below shows all of them in action: {% capture java %} -Javalin app = Javalin.create().events(event -> { - event.serverStarting(() -> { ... }); - event.serverStarted(() -> { ... }); - event.serverStartFailed(() -> { ... }); - event.serverStopping(() -> { ... }); - event.serverStopped(() -> { ... }); - event.handlerAdded(handlerMetaInfo -> { ... }); - event.wsHandlerAdded(wsHandlerMetaInfo -> { ... }); +Javalin app = Javalin.create(config -> { + config.events.serverStarting(() -> { ... }); + config.events.serverStarted(() -> { ... }); + config.events.serverStartFailed(() -> { ... }); + config.events.serverStopping(() -> { ... }); + config.events.serverStopped(() -> { ... }); + config.events.handlerAdded(handlerMetaInfo -> { ... }); + config.events.wsHandlerAdded(wsHandlerMetaInfo -> { ... }); }); app.start() // serverStarting -> (serverStarted || serverStartFailed) app.stop() // serverStopping -> serverStopped {% endcapture %} {% capture kotlin %} -Javalin app = Javalin.create().events { event -> - event.serverStarting { ... } - event.serverStarted { ... } - event.serverStartFailed { ... } - event.serverStopping { ... } - event.serverStopped { ... } - event.handlerAdded { handlerMetaInfo -> } - event.wsHandlerAdded { wsHandlerMetaInfo -> } +Javalin app = Javalin.create { config -> + config.events.serverStarting { ... } + config.events.serverStarted { ... } + config.events.serverStartFailed { ... } + config.events.serverStopping { ... } + config.events.serverStopped { ... } + config.events.handlerAdded { handlerMetaInfo -> } + config.events.wsHandlerAdded { wsHandlerMetaInfo -> } } app.start() // serverStarting -> (serverStarted || serverStartFailed) @@ -1519,13 +1632,12 @@ Frequently asked questions. The Javalin request lifecycle is pretty straightforward. The following snippet covers every place you can hook into: ```java -Javalin#before // runs first, can throw exception (which will skip any endpoint handlers) -Javalin#get/post/patch/etc // runs second, can throw exception -Javalin#error // runs third, can throw exception -Javalin#after // runs fourth, can throw exception -Javalin#exception // runs any time a handler throws (cannot throw exception) -JavalinConfig#requestLogger // runs after response is written to client -JavalinConfig#accessManager // wraps all your endpoint handlers in a lambda of your choice +config.routes.before // runs first, can throw exception (which will skip any endpoint handlers) +config.routes.get/post/patch/etc // runs second, can throw exception +config.routes.error // runs third, can throw exception +config.routes.after // runs fourth, can throw exception +config.routes.exception // runs any time a handler throws (cannot throw exception) +JavalinConfig#requestLogger // runs after response is written to client ``` --- @@ -1535,7 +1647,7 @@ There is a very simple rate limiter included in Javalin. You can call it in the beginning of your endpoint `Handler` functions: {% capture java %} -app.get("/", ctx -> { +config.routes.get("/", ctx -> { NaiveRateLimit.requestPerTimeUnit(ctx, 5, TimeUnit.MINUTES); // throws if rate limit is exceeded ctx.status("Hello, rate-limited World!"); }); @@ -1544,7 +1656,7 @@ app.get("/", ctx -> { RateLimitUtil.keyFunction = ctx -> // uses (ip+method+endpointPath) by default {% endcapture %} {% capture kotlin %} -app.get("/") { ctx -> +config.routes.get("/") { ctx -> NaiveRateLimit.requestPerTimeUnit(ctx, 5, TimeUnit.MINUTES) // throws if rate limit is exceeded ctx.status("Hello, rate-limited World!") } @@ -1646,17 +1758,18 @@ on another web server (such as Tomcat), you can use Maven or Gradle to exclude J ### Uploads Uploaded files are easily accessible via `ctx.uploadedFiles()`: {% capture java %} -app.post("/upload", ctx -> { +config.routes.post("/upload", ctx -> { ctx.uploadedFiles("files").forEach(uploadedFile -> FileUtil.streamToFile(uploadedFile.content(), "upload/" + uploadedFile.filename())); }); {% endcapture %} {% capture kotlin %} -app.post("/upload") { ctx -> +config.routes.post("/upload") { ctx -> ctx.uploadedFiles("files").forEach { uploadedFile -> FileUtil.streamToFile(uploadedFile.content(), "upload/${uploadedFile.filename()}") } } +} {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -1703,7 +1816,7 @@ private fun getRandomCatFactFuture(): CompletableFuture> { Now we can use this method in our Javalin app to return cat facts to the client asynchronously: {% capture java %} -app.get("/cat-facts", ctx -> { +config.routes.get("/cat-facts", ctx -> { ctx.future(() -> { return getRandomCatFactFuture() .thenAccept(response -> ctx.html(response.body()).status(response.statusCode())) @@ -1715,7 +1828,7 @@ app.get("/cat-facts", ctx -> { }); {% endcapture %} {% capture kotlin %} -app.get("/cat-facts") { ctx -> +config.routes.get("/cat-facts") { ctx -> ctx.future { getRandomCatFactFuture() .thenAccept { response -> ctx.html(response.body()).status(response.statusCode()) } @@ -1753,7 +1866,7 @@ once the task is done. The snippet belows shows a full example with a custom timeout, timeout handler, and a task: {% capture java %} -app.get("/async", ctx -> { +config.routes.get("/async", ctx -> { ctx.async( 1000, // timeout in ms () -> ctx.result("Request took too long"), // timeout callback @@ -1762,8 +1875,7 @@ app.get("/async", ctx -> { }); {% endcapture %} {% capture kotlin %} - -app.get("/async") { ctx -> +config.routes.get("/async") { ctx -> ctx.async( 1000, // timeout in ms { ctx.result("Request took too long") }, // timeout callback @@ -1904,6 +2016,24 @@ about this at [/plugins/rendering](/plugins/rendering). ### Vue support (JavalinVue) If you don't want to deal with NPM and frontend builds, Javalin has support for simplified Vue.js development. + +**Note:** In Javalin 7, JavalinVue is now a plugin. You need to register it using `config.registerPlugin(new JavalinVuePlugin(...))`. + +**Note:** The `LoadableData` JavaScript class is no longer included by default. +If you want to use `LoadableData`, you need to explicitly enable it: + +{% capture java %} +config.registerPlugin(new JavalinVuePlugin(vue -> { + vue.enableLoadableData = true; +})); +{% endcapture %} +{% capture kotlin %} +config.registerPlugin(JavalinVuePlugin { vue -> + vue.enableLoadableData = true +}) +{% endcapture %} +{% include macros/docsSnippet.html java=java kotlin=kotlin %} + This requires you to make a layout template, `src/main/resources/vue/layout.html`: ```markup @@ -1963,19 +2093,19 @@ which is 30 seconds by default in Jetty/Javalin. This is not a bug. ### Java lang Error handling Javalin has a default error handler for `java.lang.Error` that will log the error and return a 500. -The default error handler can be overridden using the private config: +The default error handler can be overridden using `config.router`: {% capture java %} -Javalin.create( cfg -> { - cfg.pvt.javaLangErrorHandler((res, error) -> { +Javalin.create(config -> { + config.router.javaLangErrorHandler((res, error) -> { res.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.getCode()); JavalinLogger.error("Exception occurred while servicing http-request", error); }); }); {% endcapture %} {% capture kotlin %} -Javalin.create { cfg -> - cfg.pvt.javaLangErrorHandler { res, error -> +Javalin.create { config -> + config.router.javaLangErrorHandler { res, error -> res.status = HttpStatus.INTERNAL_SERVER_ERROR.code JavalinLogger.error("Exception occurred while servicing http-request", error) } @@ -2028,6 +2158,7 @@ After switching the class loader, you may still receive a missing dependency err --- ### Documentation for previous versions +Docs for 6.7.0 (last 6.X version) can be found [here](/archive/docs/v6.X.html).\\ Docs for 5.6.X (last 5.X version) can be found [here](/archive/docs/v5.6.X.html).\\ Docs for 4.6.X (last 4.X version) can be found [here](/archive/docs/v4.6.X.html).\\ Docs for 3.13.X (last 3.X version) can be found [here](/archive/docs/v3.13.X.html).\\ diff --git a/pages/docs/migration-guide-6-7.md b/pages/docs/migration-guide-6-7.md index d00067b4..c86f6a0b 100644 --- a/pages/docs/migration-guide-6-7.md +++ b/pages/docs/migration-guide-6-7.md @@ -612,7 +612,7 @@ override fun onStart(state: JavalinState) { ## Additional changes It's hard to keep track of everything, but you can look at the -[full commit log](https://github.com/javalin/javalin/compare/javalin-parent-{{site.javalinSixVersion}}...javalin-parent-7.0.0-alpha.4) +[full commit log](https://github.com/javalin/javalin/compare/javalin-parent-{{site.javalinSixVersion}}...javalin-parent-7.0.0) between the last 6.x version and 7.0.0. If you run into something not covered by this guide, please
edit this page on GitHub! diff --git a/pages/plugins/how-to.md b/pages/plugins/how-to.md index 8ba05ab7..ecec3840 100644 --- a/pages/plugins/how-to.md +++ b/pages/plugins/how-to.md @@ -17,12 +17,9 @@ permalink: /plugins/how-to

About Plugins

-In Javalin 6, the plugin system was completely rewritten. The new system is much more powerful and flexible, -but it's also a bit more complicated. Our hope is that the new system will ensure that all plugins -follow the same pattern, so that it will be easier for end users to use the plugins. +Javalin's plugin system enforces a consistent API so that end users can rely on the same patterns across all plugins. -This how-to guide will walk you through the plugin system, -and how to write your own plugins. +This how-to guide will walk you through the plugin system and how to write your own plugins. ## What is a plugin? A plugin is a piece of code that can be added to Javalin to extend Javalin's functionality. @@ -40,10 +37,10 @@ intimidating, but we will walk you through it step by step. There are also sever abstract class Plugin(userConfig: Consumer? = null, defaultConfig: CONFIG? = null) { /** Initialize properties and access configuration before any handler is registered. */ - open fun onInitialize(config: JavalinConfig) {} + open fun onInitialize(state: JavalinState) {} /** Called when the plugin is applied to the Javalin instance. */ - open fun onStart(config: JavalinConfig) {} + open fun onStart(state: JavalinState) {} /** Checks if plugin can be registered multiple times. */ open fun repeatable(): Boolean = false @@ -66,7 +63,7 @@ which is the type of the configuration object that you want to use. If you don't use a configuration object, you can use `Void`/`Unit` as the type parameter. ### The `ContextPlugin` class -If you want to add functionality to the `Context` class, you can extend the `ContextExtension` class, +If you want to add functionality to the `Context` class, you can extend the `ContextPlugin` class, which in turn extends the `Plugin` class. This class has a generic type parameter `EXTENSION`, in addition to the `CONFIG` type parameter from the `Plugin` class: @@ -81,7 +78,7 @@ abstract class ContextPlugin( } ``` -The `ContextExtension` class has a function `createExtension`, which is called when the +The `ContextPlugin` class has a function `createExtension`, which is called when the user calls `ctx.with(Plugin::class)`. This function should return an instance of the extension class. It also overrides the `repeatable` function to always returns `false`. This is necessary because context extensions are keyed by class, so you can only have one @@ -107,13 +104,11 @@ Let's create a plugin named `Ratey` that does rate limiting: class Ratey extends Plugin { int counter; @Override - public void onInitialize(JavalinConfig config) { - config.router.mount(router -> { - router.before(ctx -> { - if (counter++ > 100) { - throw new TooManyRequestsResponse(); - } - }); + public void onStart(JavalinState state) { + state.routes.before(ctx -> { + if (counter++ > 100) { + throw new TooManyRequestsResponse(); + } }); } } @@ -122,12 +117,10 @@ class Ratey extends Plugin { class Ratey : Plugin() { var counter = 0 - override fun onInitialize(config: JavalinConfig) { - config.router.mount { router -> - router.before { ctx -> - if (counter++ > 100) { - throw TooManyRequestsResponse() - } + override fun onStart(state: JavalinState) { + state.routes.before { ctx -> + if (counter++ > 100) { + throw TooManyRequestsResponse() } } } @@ -149,7 +142,7 @@ val app = Javalin.create { config -> {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} -This will register the plugin. The `onInitialize` function will be called when Javalin is initialized, +This will register the plugin. The `onStart` function will be called when Javalin starts, so our rate-limiting code will be executed for every request. This plugin is currently quite terrible, as it will rate-limit all requests, and it has a hardcoded limit of 100 requests. Let's make it a bit more flexible by adding a config. @@ -169,13 +162,11 @@ class Ratey extends Plugin { // the Ratey.Config class is the conf public int limit = 1; } @Override - public void onInitialize(JavalinConfig config) { - config.router.mount(router -> { - router.before(ctx -> { - if (counter++ > pluginConfig.limit) { // we can access the config through the pluginConfig field - throw new TooManyRequestsResponse(); - } - }); + public void onStart(JavalinState state) { + state.routes.before(ctx -> { + if (counter++ > pluginConfig.limit) { // we can access the config through the pluginConfig field + throw new TooManyRequestsResponse(); + } }); } } @@ -190,12 +181,10 @@ class Ratey(userConfig: Consumer) : Plugin(userConfig, Con var limit = 1 } - override fun onInitialize(config: JavalinConfig) { - config.router.mount { router -> - router.before { ctx -> - if (counter++ > pluginConfig.limit) { // we can access the config through the pluginConfig field - throw TooManyRequestsResponse() - } + override fun onStart(state: JavalinState) { + state.routes.before { ctx -> + if (counter++ > pluginConfig.limit) { // we can access the config through the pluginConfig field + throw TooManyRequestsResponse() } } } @@ -239,7 +228,7 @@ For this example, we want to be able to limit the number of requests per user, a Instead of a before-handler, we will create an extension to the `Context` class, which we will let users call with `ctx.with(Ratey::class)`. This will return an instance of our extension class. -Let's extend the `ContextExtension` class in our `Ratey` plugin and add a `createExtension` function: +Let's extend the `ContextPlugin` class in our `Ratey` plugin and add a `createExtension` function: {% capture java %} class Ratey extends ContextPlugin { @@ -304,40 +293,34 @@ class Ratey(userConfig: Consumer) : ContextPlugin { config.registerPlugin(new Ratey(rateyConfig -> { rateyConfig.limit = 100_000; })); -}); - -// use in handler -app.get("/cheap-endpoint", ctx -> { - ctx.with(Ratey.class).tryConsume(1); - ctx.result("Hello cheap world!"); -}); -app.get("expensive-endpoint", ctx -> { - ctx.with(Ratey.class).tryConsume(100); - ctx.result("Hello expensive world!"); -}); + config.routes.get("/cheap-endpoint", ctx -> { + ctx.with(Ratey.class).tryConsume(1); + ctx.result("Hello cheap world!"); + }); + config.routes.get("/expensive-endpoint", ctx -> { + ctx.with(Ratey.class).tryConsume(100); + ctx.result("Hello expensive world!"); + }); +}).start(7070); {% endcapture %} {% capture kotlin %} -// register val app = Javalin.create { config -> config.registerPlugin(Ratey { rateyConfig -> rateyConfig.limit = 100_000 }) -} - -// use in handler -app.get("/cheap-endpoint") { ctx -> - ctx.with(Ratey::class).tryConsume(1) - ctx.result("Hello cheap world!") -} -app.get("expensive-endpoint") { ctx -> - ctx.with(Ratey::class).tryConsume(100) - ctx.result("Hello expensive world!") -} + config.routes.get("/cheap-endpoint") { ctx -> + ctx.with(Ratey::class).tryConsume(1) + ctx.result("Hello cheap world!") + } + config.routes.get("/expensive-endpoint") { ctx -> + ctx.with(Ratey::class).tryConsume(100) + ctx.result("Hello expensive world!") + } +}.start(7070) {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} diff --git a/pages/plugins/javalinvue.md b/pages/plugins/javalinvue.md index aef80b7a..c5dbf1d4 100644 --- a/pages/plugins/javalinvue.md +++ b/pages/plugins/javalinvue.md @@ -46,7 +46,7 @@ and serves it all as one big HTML file. You start by creating a layout file:
- @routeComponent + @routeComponent
From 263b14851481fd401a1e5144e090b4090116f7f6 Mon Sep 17 00:00:00 2001 From: tipsy Date: Sun, 22 Feb 2026 17:33:12 +0100 Subject: [PATCH 05/12] fix docs --- pages/docs/docs.md | 93 ++++++++++++++++++++++------------------------ 1 file changed, 45 insertions(+), 48 deletions(-) diff --git a/pages/docs/docs.md b/pages/docs/docs.md index 6a63ee42..097de5d9 100644 --- a/pages/docs/docs.md +++ b/pages/docs/docs.md @@ -369,7 +369,7 @@ result("result") // set result stream to specified string ( result(byteArray) // set result stream to specified byte array (overwrites any previously set result) result(inputStream) // set result stream to specified input stream (overwrites any previously set result) future(futureSupplier) // set the result to be a future, see async section (overwrites any previously set result) -writeSeekableStream(inputStream) // write content immediately as seekable stream (useful for audio and video) +writeSeekableStream(stream, type) // write content immediately as seekable stream (useful for audio and video) result() // get current result stream as string (if possible), and reset result stream resultInputStream() // get current result stream contentType("type") // set the response content type @@ -389,11 +389,10 @@ res() // get the underlying HttpServletResponse // Other methods async(runnable) // lifts request out of Jetty's ThreadPool, and moves it to Javalin's AsyncThreadPool async(asyncConfig, runnable) // same as above, but with additonal config -handlerType() // handler type of the current handler (BEFORE, AFTER, GET, etc) +endpoint().method // handler type of the current handler (BEFORE, AFTER, GET, etc) appData(typedKey) // get data from the Javalin instance (see app data section below) with(pluginClass) // get context plugin by class, see plugin section below -endpoint().path() // get the path that was used to match this request (ex, "/hello/{name}") -endpointHandlerPath() // get the path of the endpoint handler that was used to match this request +endpoint().path // get the path that was used to match this request (ex, "/hello/{name}") cookieStore() // see cookie store section below skipRemainingHandlers() // skip all remaining handlers for this request ``` @@ -1551,25 +1550,20 @@ You can configure your embedded jetty-server with a handler-chain and Javalin will attach it's own handlers to the end of this chain. {% capture java %} StatisticsHandler statisticsHandler = new StatisticsHandler(); +Server server = new Server(); +server.setHandler(statisticsHandler); -Javalin.create(config -> { - config.server(() -> { - Server server = new Server(); - server.setHandler(statisticsHandler); - return server; - }) -}); +Javalin app = Javalin.create(config -> { /* your config */ }); +app.unsafe.jettyInternal.server = server; +app.start(); {% endcapture %} {% capture kotlin %} val statisticsHandler = StatisticsHandler() +val server = Server().apply { handler = statisticsHandler } -Javalin.create { config -> - config.server { - Server().apply { - handler = statisticsHandler - } - } -}.start(); +val app = Javalin.create { /* your config */ } +app.unsafe.jettyInternal.server = server +app.start() {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -1643,26 +1637,32 @@ JavalinConfig#requestLogger // runs after response is written to client --- ### Rate limiting -There is a very simple rate limiter included in Javalin. -You can call it in the beginning of your endpoint `Handler` functions: +There is a very simple rate limiter included in Javalin, available via `RateLimitPlugin`. +First, register the plugin, then call it in your endpoint `Handler` functions via `ctx.with(RateLimitPlugin.class)`: {% capture java %} -config.routes.get("/", ctx -> { - NaiveRateLimit.requestPerTimeUnit(ctx, 5, TimeUnit.MINUTES); // throws if rate limit is exceeded - ctx.status("Hello, rate-limited World!"); +Javalin.create(config -> { + config.registerPlugin(new RateLimitPlugin(cfg -> { + // optional: customize the key function (default: ip + method + path) + cfg.keyFunction = ctx -> ctx.ip(); + })); + config.routes.get("/", ctx -> { + ctx.with(RateLimitPlugin.class).requestPerTimeUnit(5, TimeUnit.MINUTES); // throws if rate limit is exceeded + ctx.result("Hello, rate-limited World!"); + }); }); - -// you can overwrite the key-function: -RateLimitUtil.keyFunction = ctx -> // uses (ip+method+endpointPath) by default {% endcapture %} {% capture kotlin %} -config.routes.get("/") { ctx -> - NaiveRateLimit.requestPerTimeUnit(ctx, 5, TimeUnit.MINUTES) // throws if rate limit is exceeded - ctx.status("Hello, rate-limited World!") +Javalin.create { config -> + config.registerPlugin(RateLimitPlugin { cfg -> + // optional: customize the key function (default: ip + method + path) + cfg.keyFunction = { ctx -> ctx.ip() } + }) + config.routes.get("/") { ctx -> + ctx.with(RateLimitPlugin::class).requestPerTimeUnit(5, TimeUnit.MINUTES) // throws if rate limit is exceeded + ctx.result("Hello, rate-limited World!") + } } - -// you can overwrite the key-function: -RateLimitUtil.keyFunction = { ctx -> } // uses (ip+method+endpointPath) by default {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -1686,8 +1686,8 @@ You can check the status of Jetty 11+ on Android [here](https://github.com/eclip ### Concurrency If your JRE supports project Loom, -Javalin will use a `newVirtualThreadPerTaskExecutor` for serving requests if you set the -`enableVirtualThreads` config option. +Javalin will use a `newVirtualThreadPerTaskExecutor` for serving requests if you set the +`config.concurrency.useVirtualThreads = true` config option. Otherwise, a `QueuedThreadPool` with 250 threads will be used. Each incoming request is handled by a dedicated thread, so all Handler implementations should be thread-safe. @@ -1854,33 +1854,30 @@ If you want to execute a blocking task outside of the server ThreadPool, you can The snippet below shows the available overloads for the method: ``` -async(runnableTask) // Javalin's default executor, no timeout or timeout callback -async(timeout, onTimeout, runnableTask) // Javalin's default executor, custom timeout handling -async(executor, timeout, onTimeout, runnableTask) // custom everything! +async(runnableTask) // Javalin's default executor, no timeout or timeout callback +async(asyncConfig, runnableTask) // custom executor, timeout, and timeout callback via AsyncTaskConfig ``` Javalin will immediately start an async context and run the task on a dedicated executor service. It will resume the normal request flow (after-handlers, request-logging) once the task is done. -The snippet belows shows a full example with a custom timeout, timeout handler, and a task: +The snippet below shows a full example with a custom timeout, timeout handler, and a task: {% capture java %} config.routes.get("/async", ctx -> { - ctx.async( - 1000, // timeout in ms - () -> ctx.result("Request took too long"), // timeout callback - () -> ctx.result(someSlowResult) // some long running task - ); + ctx.async(cfg -> { + cfg.timeout = 1000; // timeout in ms + cfg.onTimeout(c -> c.result("Request took too long")); // timeout callback + }, () -> ctx.result(someSlowResult)); // some long running task }); {% endcapture %} {% capture kotlin %} config.routes.get("/async") { ctx -> - ctx.async( - 1000, // timeout in ms - { ctx.result("Request took too long") }, // timeout callback - { ctx.result(someSlowResult) // some long running task - ) + ctx.async({ cfg -> + cfg.timeout = 1000 // timeout in ms + cfg.onTimeout { c -> c.result("Request took too long") } // timeout callback + }) { ctx.result(someSlowResult) } // some long running task } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} From b73e4e89e13565c9f83fab5fd4e6f07cd37edaef Mon Sep 17 00:00:00 2001 From: tipsy Date: Sun, 22 Feb 2026 17:42:17 +0100 Subject: [PATCH 06/12] improve docs --- pages/docs/docs.md | 21 ++++---- pages/plugins/rendering.md | 104 +++++++------------------------------ 2 files changed, 31 insertions(+), 94 deletions(-) diff --git a/pages/docs/docs.md b/pages/docs/docs.md index 097de5d9..ac86dfe2 100644 --- a/pages/docs/docs.md +++ b/pages/docs/docs.md @@ -201,12 +201,12 @@ Handler paths can also include wildcard parameters: {% capture java %} config.routes.get("/path/*", ctx -> { // will match anything starting with /path/ - ctx.result("You are here because " + ctx.path() + " matches " + ctx.endpoint().path()); + ctx.result("You are here because " + ctx.path() + " matches " + ctx.endpoint().path); }); {% endcapture %} {% capture kotlin %} config.routes.get("/path/*") { ctx -> // will match anything starting with /path/ - ctx.result("You are here because " + ctx.path() + " matches " + ctx.endpoint().path()) + ctx.result("You are here because " + ctx.path() + " matches " + ctx.endpoint().path) } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -592,7 +592,7 @@ send(byteBuffer) // send bytes to client sendAsClass(obj, clazz) // serialize object to json string and send it to client // Upgrade Context methods (getters) -endpoint().path() // get the path that was used to match this request (ex, "/hello/{name}") +endpoint().path // get the path that was used to match this request (ex, "/hello/{name}") host() // host as string queryParam("name") // query param by name as string @@ -1161,9 +1161,10 @@ Javalin.create(config -> { config.events // Events configuration config.contextResolver // Context resolver implementation configuration config.validation // Default validator configuration - config.useVirtualThreads // Use virtual threads (based on Java Project Loom) - config.showJavalinBanner // Show the Javalin banner in the logs - config.startupWatcherEnabled // Print warning if instance was not started after 5 seconds + config.concurrency.useVirtualThreads // Use virtual threads (based on Java Project Loom) + config.startup.showJavalinBanner // Show the Javalin banner in the logs + config.startup.showOldJavalinVersionWarning // Show a warning if an old Javalin version is being used + config.startup.startupWatcherEnabled // Print warning if instance was not started after 5 seconds config.events(listenerConfig) // Add an event listener config.jsonMapper(jsonMapper) // Set a custom JsonMapper @@ -1598,7 +1599,7 @@ app.start() // serverStarting -> (serverStarted || serverStartFailed) app.stop() // serverStopping -> serverStopped {% endcapture %} {% capture kotlin %} -Javalin app = Javalin.create { config -> +val app = Javalin.create { config -> config.events.serverStarting { ... } config.events.serverStarted { ... } config.events.serverStartFailed { ... } @@ -2005,9 +2006,9 @@ The default `FileRenderer` of Javalin is a singleton named `JavalinRenderer`, se the section below for more information. ### Default implementations -Javalin offers an artifact with several template engines, called `javalin-rendering`, -which follows the same version as the `javalin` artifact. You can learn more -about this at [/plugins/rendering](/plugins/rendering). +Javalin offers separate per-engine artifacts for template rendering (e.g. `javalin-rendering-freemarker`, +`javalin-rendering-velocity`, `javalin-rendering-thymeleaf`, etc.), which follow the same version as the +`javalin` artifact. You can learn more about this at [/plugins/rendering](/plugins/rendering). --- diff --git a/pages/plugins/rendering.md b/pages/plugins/rendering.md index 7f696681..136df0d5 100644 --- a/pages/plugins/rendering.md +++ b/pages/plugins/rendering.md @@ -7,13 +7,14 @@ permalink: /plugins/rendering

Javalin rendering

-The `javalin-rendering` artifact is an optional module for the Javalin web framework that -provides a simple way to render HTML using popular template engines. -The `javalin-rendering` artifact includes default implementations for several template engines, -including JTE, Mustache, Velocity, Pebble, Handlebars, and Thymeleaf, but you -also have to add the dependency for the template engine you want to use. +The `javalin-rendering` module provides optional template engine support for Javalin. +Each template engine has its own artifact that bundles the engine dependency, so you only +need to add one dependency to get started. ## Adding dependencies + +Pick the artifact for the template engine you want to use: +
  • Maven
  • @@ -23,36 +24,31 @@ also have to add the dependency for the template engine you want to use. ~~~markup io.javalin - javalin-rendering + javalin-rendering-{engine} {{site.javalinversion}} - - - - - ~~~
-~~~java -implementation("io.javalin:javalin-rendering:{{site.javalinversion}}") -// template engine dependency +~~~kotlin +implementation("io.javalin:javalin-rendering-{engine}:{{site.javalinversion}}") ~~~
-### Included template engines -The `javalin-rendering` artifact includes default implementations for several template engines: +### Available modules +Replace `{engine}` with the name of the template engine you want to use: | --- | --- | -| **Freemarker** |  ➜  [https://freemarker.apache.org](https://freemarker.apache.org) | -| **JTE** |  ➜  [https://jte.gg/](https://jte.gg) | -| **Mustache** |  ➜  [https://github.com/spullara/mustache.java](https://github.com/spullara/mustache.java) | -| **Pebble** |  ➜  [https://pebbletemplates.io/](https://pebbletemplates.io) | -| **Thymeleaf** |  ➜  [https://www.thymeleaf.org/](https://www.thymeleaf.org) | -| **Velocity** |  ➜  [https://velocity.apache.org/](https://velocity.apache.org) | -| **Commonmark** |  ➜  [https://github.com/commonmark/commonmark-java](https://github.com/commonmark/commonmark-java) | +| `javalin-rendering-commonmark` |  ➜  [https://github.com/commonmark/commonmark-java](https://github.com/commonmark/commonmark-java) | +| `javalin-rendering-freemarker` |  ➜  [https://freemarker.apache.org](https://freemarker.apache.org) | +| `javalin-rendering-handlebars` |  ➜  [https://github.com/jknack/handlebars.java](https://github.com/jknack/handlebars.java) | +| `javalin-rendering-jte` |  ➜  [https://jte.gg/](https://jte.gg) | +| `javalin-rendering-mustache` |  ➜  [https://github.com/spullara/mustache.java](https://github.com/spullara/mustache.java) | +| `javalin-rendering-pebble` |  ➜  [https://pebbletemplates.io/](https://pebbletemplates.io) | +| `javalin-rendering-thymeleaf` |  ➜  [https://www.thymeleaf.org/](https://www.thymeleaf.org) | +| `javalin-rendering-velocity` |  ➜  [https://velocity.apache.org/](https://velocity.apache.org) | ## Using the plugin All the template engines look for templates/markdown files in `src/resources/templates`. @@ -99,65 +95,5 @@ Javalin.create { config -> {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} -The configuration classes are not from Javalin, but from the template engine you are using, +The configuration classes are not from Javalin, but from the template engine you are using, so please consult the documentation for that particular template engine to learn how to use them. - -## Recreating the old JavalinRenderer -Older versions of Javalin had a `JavalinRenderer` class that was used to render templates. -This class was able to render templates based on the file extension. - -You can recreate this class like this: - -{% capture java %} -class JavalinRenderer implements FileRenderer { - private Map renderers = new HashMap<>(); - public JavalinRenderer register(String extension, FileRenderer renderer) { - renderers.put(extension, renderer); - return this; - } - - @Override - public String render(String filePath, Map model, Context context) { - String extension = filePath.substring(filePath.lastIndexOf(".") + 1); - return renderers.get(extension).render(filePath, model, context); - } -} -{% endcapture %} -{% capture kotlin %} -class JavalinRenderer : FileRenderer { - private val renderers = HashMap() - fun register(extension: String, renderer: FileRenderer): JavalinRenderer { - renderers[extension] = renderer - return this - } - - - override fun render(filePath: String, model: Map, context: Context): String { - val extension = filePath.substring(filePath.lastIndexOf(".") + 1) - return renderers[extension]!!.render(filePath, model, context) - } -} -{% endcapture %} -{% include macros/docsSnippet.html java=java kotlin=kotlin %} - -You can then register it like any other renderer: - -{% capture java %} -Javalin.create(config -> { - config.fileRenderer( - new JavalinRenderer() - .register("mustache", new JavalinMustache()) - .register("jte", new JavalinJte()) - ); -}); -{% endcapture %} -{% capture kotlin %} -Javalin.create { config -> - config.fileRenderer( - JavalinRenderer() - .register("mustache", JavalinMustache()) - .register("jte", JavalinJte()) - ) -} -{% endcapture %} -{% include macros/docsSnippet.html java=java kotlin=kotlin %} From e00cea14c4ac9ca5af1e88cf3d64890e6b1d6514 Mon Sep 17 00:00:00 2001 From: tipsy Date: Sun, 22 Feb 2026 17:54:08 +0100 Subject: [PATCH 07/12] docs fixes --- pages/docs/docs.md | 93 +++++++++++++++++++++++++--------------------- 1 file changed, 50 insertions(+), 43 deletions(-) diff --git a/pages/docs/docs.md b/pages/docs/docs.md index ac86dfe2..46f3d4e9 100644 --- a/pages/docs/docs.md +++ b/pages/docs/docs.md @@ -312,7 +312,7 @@ bodyAsBytes() // request body as array of bytes bodyAsClass(clazz) // request body as specified class (deserialized from JSON) bodyStreamAsClass(clazz) // request body as specified class (memory optimized version of above) bodyValidator(clazz) // request body as validator typed as specified class -bodyInputStream() // the underyling input stream of the request +bodyInputStream() // the underlying input stream of the request uploadedFile("name") // uploaded file by name uploadedFiles("name") // all uploaded files by name uploadedFiles() // all uploaded files as list @@ -388,7 +388,7 @@ res() // get the underlying HttpServletResponse // Other methods async(runnable) // lifts request out of Jetty's ThreadPool, and moves it to Javalin's AsyncThreadPool -async(asyncConfig, runnable) // same as above, but with additonal config +async(asyncConfig, runnable) // same as above, but with additional config endpoint().method // handler type of the current handler (BEFORE, AFTER, GET, etc) appData(typedKey) // get data from the Javalin instance (see app data section below) with(pluginClass) // get context plugin by class, see plugin section below @@ -445,27 +445,35 @@ The cookieStore works like this: ##### Example: {% capture java %} -serverOneApp.post("/cookie-storer", ctx -> { - ctx.cookieStore().set("string", "Hello world!"); - ctx.cookieStore().set("i", 42); - ctx.cookieStore().set("list", Arrays.asList("One", "Two", "Three")); +var serverOneApp = Javalin.create(config -> { + config.routes.post("/cookie-storer", ctx -> { + ctx.cookieStore().set("string", "Hello world!"); + ctx.cookieStore().set("i", 42); + ctx.cookieStore().set("list", Arrays.asList("One", "Two", "Three")); + }); }); -serverTwoApp.get("/cookie-reader", ctx -> { // runs on a different server than serverOneApp - String string = ctx.cookieStore().get("string") - int i = ctx.cookieStore().get("i") - List list = ctx.cookieStore().get("list") +var serverTwoApp = Javalin.create(config -> { + config.routes.get("/cookie-reader", ctx -> { // runs on a different server than serverOneApp + String string = ctx.cookieStore().get("string"); + int i = ctx.cookieStore().get("i"); + List list = ctx.cookieStore().get("list"); + }); }); {% endcapture %} {% capture kotlin %} -serverOneApp.post("/cookie-storer") { ctx -> - ctx.cookieStore().set("string", "Hello world!") - ctx.cookieStore().set("i", 42) - ctx.cookieStore().set("list", listOf("One", "Two", "Three")) +val serverOneApp = Javalin.create { config -> + config.routes.post("/cookie-storer") { ctx -> + ctx.cookieStore().set("string", "Hello world!") + ctx.cookieStore().set("i", 42) + ctx.cookieStore().set("list", listOf("One", "Two", "Three")) + } } -serverTwoApp.get("/cookie-reader") { ctx -> // runs on a different server than serverOneApp - val string = ctx.cookieStore().get("string") - val i = ctx.cookieStore().get("i") - val list = ctx.cookieStore().get("list") +val serverTwoApp = Javalin.create { config -> + config.routes.get("/cookie-reader") { ctx -> // runs on a different server than serverOneApp + val string = ctx.cookieStore().get("string") + val i = ctx.cookieStore().get("i") + val list = ctx.cookieStore().get("list") + } } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -1115,7 +1123,7 @@ Queue clients = new ConcurrentLinkedQueue(); config.routes.sse("/sse", client -> { client.keepAlive(); - client.onClose(() - > clients.remove(client)); + client.onClose(() -> clients.remove(client)); clients.add(client); }); {% endcapture %} @@ -1184,16 +1192,15 @@ Javalin.create(config -> { config.http.generateEtags = booleanValue; // if javalin should generate etags for dynamic responses (not static files) config.http.prefer405over404 = booleanValue; // return 405 instead of 404 if path is mapped to different HTTP method config.http.maxRequestSize = longValue; // the max size of request body that can be accessed without using using an InputStream - config.http.responseBufferSize = longValue; // the size of the response buffer (default 32kb) + config.http.responseBufferSize = intValue; // the size of the response buffer (default 32kb) config.http.defaultContentType = stringValue; // the default content type config.http.asyncTimeout = longValue; // timeout in milliseconds for async requests (0 means no timeout) config.http.strictContentTypes = booleanValue; // throw exception if e.g content-type is missing/incorrect when attempting to parse JSON - config.http.customCompression(strategy); // set a custom compression strategy - config.http.brotliAndGzipCompression(lvl, lvl); // enable brotli and gzip compression with the specified levels - config.http.gzipOnlyCompression(lvl); // enable gzip compression with the specified level - config.http.brotliOnlyCompression(lvl); // enable brotli compression with the specified level - config.http.disableCompression(); // disable compression + config.http.compressionStrategy = new CompressionStrategy(new Brotli(lvl), new Gzip(lvl)); + config.http.compressionStrategy = new CompressionStrategy(null, new Gzip(lvl)); + config.http.compressionStrategy = new CompressionStrategy(new Brotli(lvl), null); + config.http.compressionStrategy = CompressionStrategy.NONE; }); {% endcapture %} {% capture kotlin %} @@ -1201,16 +1208,15 @@ Javalin.create { config -> config.http.generateEtags = booleanValue // if javalin should generate etags for dynamic responses (not static files) config.http.prefer405over404 = booleanValue // return 405 instead of 404 if path is mapped to different HTTP method config.http.maxRequestSize = longValue // the max size of request body that can be accessed without using using an InputStream - config.http.responseBufferSize = longValue // the size of the response buffer (default 32kb) + config.http.responseBufferSize = intValue // the size of the response buffer (default 32kb) config.http.defaultContentType = stringValue // the default content type config.http.asyncTimeout = longValue // timeout in milliseconds for async requests (0 means no timeout) config.http.strictContentTypes = booleanValue // throw exception if e.g content-type is missing/incorrect when attempting to parse JSON - config.http.customCompression(strategy) // set a custom compression strategy - config.http.brotliAndGzipCompression(lvl, lvl) // enable brotli and gzip compression with the specified levels - config.http.gzipOnlyCompression(lvl) // enable gzip compression with the specified level - config.http.brotliOnlyCompression(lvl) // enable brotli compression with the specified level - config.http.disableCompression() // disable compression + config.http.compressionStrategy = CompressionStrategy(Brotli(lvl), Gzip(lvl)) + config.http.compressionStrategy = CompressionStrategy(null, Gzip(lvl)) + config.http.compressionStrategy = CompressionStrategy(Brotli(lvl), null) + config.http.compressionStrategy = CompressionStrategy.NONE } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -1244,10 +1250,10 @@ Javalin.create(config -> { config.jetty.host = "localhost"; // set the host for Jetty config.jetty.port = 1234; // set the port for Jetty config.jetty.threadPool = new ThreadPool(); // set the thread pool for Jetty - config.jetty.timeoutStatus = 408; // set the timeout status for Jetty (default 500) - config.jetty.clientAbortStatus = 499; // set the abort status for Jetty (default 500) + config.jetty.timeoutStatus = 408; // set the timeout status for Jetty (default 408) + config.jetty.clientAbortStatus = 499; // set the abort status for Jetty (default 499) config.jetty.multipartConfig = new MultipartConfig(); // set the multipart config for Jetty - config.jetty.modifyJettyWebSocketServletFactory(factory -> {}); // modify the JettyWebSocketServletFactory + config.jetty.modifyWebSocketServletFactory(factory -> {}); // modify the JettyWebSocketServletFactory config.jetty.modifyServer(server -> {}); // modify the Jetty Server config.jetty.modifyServletContextHandler(handler -> {}); // modify the ServletContextHandler (you can set a SessionHandler here) config.jetty.modifyHttpConfiguration(httpConfig -> {}); // modify the HttpConfiguration @@ -1259,10 +1265,10 @@ Javalin.create { config -> config.jetty.host = "localhost" // set the host for Jetty config.jetty.port = 1234 // set the port for Jetty config.jetty.threadPool = ThreadPool() // set the thread pool for Jetty - config.jetty.timeoutStatus = 408 // set the timeout status for Jetty (default 500) - config.jetty.clientAbortStatus = 499 // set the abort status for Jetty (default 500) + config.jetty.timeoutStatus = 408 // set the timeout status for Jetty (default 408) + config.jetty.clientAbortStatus = 499 // set the abort status for Jetty (default 499) config.jetty.multipartConfig = MultipartConfig() // set the multipart config for Jetty - config.jetty.modifyJettyWebSocketServletFactory { factory -> } // modify the JettyWebSocketServletFactory + config.jetty.modifyWebSocketServletFactory { factory -> } // modify the JettyWebSocketServletFactory config.jetty.modifyServer { server -> } // modify the Jetty Server config.jetty.modifyServletContextHandler { handler -> } // modify the ServletContextHandler (you can set a SessionHandler here) config.jetty.modifyHttpConfiguration { httpConfig -> } // modify the HttpConfiguration @@ -1591,12 +1597,13 @@ Javalin app = Javalin.create(config -> { config.events.serverStartFailed(() -> { ... }); config.events.serverStopping(() -> { ... }); config.events.serverStopped(() -> { ... }); + config.events.serverStopFailed(() -> { ... }); config.events.handlerAdded(handlerMetaInfo -> { ... }); config.events.wsHandlerAdded(wsHandlerMetaInfo -> { ... }); }); app.start() // serverStarting -> (serverStarted || serverStartFailed) -app.stop() // serverStopping -> serverStopped +app.stop() // serverStopping -> (serverStopped || serverStopFailed) {% endcapture %} {% capture kotlin %} val app = Javalin.create { config -> @@ -1605,12 +1612,13 @@ val app = Javalin.create { config -> config.events.serverStartFailed { ... } config.events.serverStopping { ... } config.events.serverStopped { ... } + config.events.serverStopFailed { ... } config.events.handlerAdded { handlerMetaInfo -> } config.events.wsHandlerAdded { wsHandlerMetaInfo -> } } app.start() // serverStarting -> (serverStarted || serverStartFailed) -app.stop() // serverStopping -> serverStopped +app.stop() // serverStopping -> (serverStopped || serverStopFailed) {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -1678,8 +1686,8 @@ Different endpoints can have different rate limits. It works as follows: ### Android -Due to [Jetty 11 not working on Android](https://github.com/javalin/website/issues/211#issuecomment-1438319603), -Javalin 5+ is not compatible either, but Javalin 4 is.\\ +Due to [Jetty 11+ not working on Android](https://github.com/javalin/website/issues/211#issuecomment-1438319603), +Javalin 5+ (which uses Jetty 11 or 12) is not compatible, but Javalin 4 is.\\ You can find the docs for Javalin 4 [here](/archive/docs/v4.6.X.html).\\ You can check the status of Jetty 11+ on Android [here](https://github.com/eclipse/jetty.project/issues/8912#issuecomment-1439716937). @@ -1770,7 +1778,6 @@ config.routes.post("/upload") { ctx -> FileUtil.streamToFile(uploadedFile.content(), "upload/${uploadedFile.filename()}") } } -} {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -1969,7 +1976,7 @@ If you need to add a serlvet there's an example in the repo: You can also use it to build simple proxy using `AsyncProxyServlet` that is part of Jetty: ```java -// Add org.eclipse.jetty:jetty-proxy to maven/gradle dependencies (e.g Javalin 5.3.2 uses Jetty 11.0.13) +// Add org.eclipse.jetty:jetty-proxy to maven/gradle dependencies (Javalin 7 uses Jetty 12) Javalin.create(config -> { config.jetty.modifyServletContextHandler(handler -> { ServletHolder proxyServlet = new ServletHolder(AsyncProxyServlet.Transparent.class); From 479199143c55a242667476a3358bf536d41fd694 Mon Sep 17 00:00:00 2001 From: tipsy Date: Sun, 22 Feb 2026 18:01:27 +0100 Subject: [PATCH 08/12] fix docs --- pages/docs/docs.md | 109 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 102 insertions(+), 7 deletions(-) diff --git a/pages/docs/docs.md b/pages/docs/docs.md index 46f3d4e9..1a29cbd2 100644 --- a/pages/docs/docs.md +++ b/pages/docs/docs.md @@ -389,10 +389,16 @@ res() // get the underlying HttpServletResponse // Other methods async(runnable) // lifts request out of Jetty's ThreadPool, and moves it to Javalin's AsyncThreadPool async(asyncConfig, runnable) // same as above, but with additional config +endpoint() // get the current Endpoint (method, path, handler) endpoint().method // handler type of the current handler (BEFORE, AFTER, GET, etc) +endpoint().path // get the path that was used to match this request (ex, "/hello/{name}") +endpoints() // get all endpoints visited during this request (in order) +endpoints().current() // get the last endpoint in the stack +endpoints().lastHttpEndpoint() // get the last HTTP endpoint (useful in AFTER handlers) +endpoints().list() // get all endpoints as an unmodifiable list +routeRoles() // get the roles for the matched endpoint appData(typedKey) // get data from the Javalin instance (see app data section below) with(pluginClass) // get context plugin by class, see plugin section below -endpoint().path // get the path that was used to match this request (ex, "/hello/{name}") cookieStore() // see cookie store section below skipRemainingHandlers() // skip all remaining handlers for this request ``` @@ -587,6 +593,57 @@ config.routes.wsAfter("/path/*") { ws -> {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} +### WsBeforeUpgrade +The `config.routes.wsBeforeUpgrade` adds a handler that runs before the WebSocket upgrade is attempted. +This is an HTTP handler (not a WsConfig handler), so you have access to the regular `Context`. +It's useful for authentication, validation, or rejecting upgrade requests before they happen. + +{% capture java %} +config.routes.wsBeforeUpgrade(ctx -> { + // runs before all WebSocket upgrade requests +}); +config.routes.wsBeforeUpgrade("/path/*", ctx -> { + // runs before websocket upgrade requests to /path/* + if (!isAuthenticated(ctx)) { + throw new UnauthorizedResponse(); + } +}); +{% endcapture %} +{% capture kotlin %} +config.routes.wsBeforeUpgrade { ctx -> + // runs before all WebSocket upgrade requests +} +config.routes.wsBeforeUpgrade("/path/*") { ctx -> + // runs before websocket upgrade requests to /path/* + if (!isAuthenticated(ctx)) { + throw UnauthorizedResponse() + } +} +{% endcapture %} +{% include macros/docsSnippet.html java=java kotlin=kotlin %} + +### WsAfterUpgrade +The `config.routes.wsAfterUpgrade` adds a handler that runs after the WebSocket upgrade is attempted. +Like `wsBeforeUpgrade`, this is an HTTP handler with access to the regular `Context`. + +{% capture java %} +config.routes.wsAfterUpgrade(ctx -> { + // runs after all WebSocket upgrade requests +}); +config.routes.wsAfterUpgrade("/path/*", ctx -> { + // runs after websocket upgrade requests to /path/* +}); +{% endcapture %} +{% capture kotlin %} +config.routes.wsAfterUpgrade { ctx -> + // runs after all WebSocket upgrade requests +} +config.routes.wsAfterUpgrade("/path/*") { ctx -> + // runs after websocket upgrade requests to /path/* +} +{% endcapture %} +{% include macros/docsSnippet.html java=java kotlin=kotlin %} + ### WsContext The `WsContext` object provides you with everything you need to handle a websocket-request. It contains the underlying websocket session and servlet-request, and convenience methods for sending @@ -1161,12 +1218,13 @@ but there are also a few direct properties and functions: Javalin.create(config -> { config.http // The http layer configuration: etags, request size, timeout, etc config.router // The routing configuration: context path, slash treatment, etc + config.routes // Routes configuration: HTTP handlers, WebSocket handlers, SSE, exceptions, errors config.jetty // The embedded Jetty webserver configuration config.staticFiles // Static files and webjars configuration - config.spaRoot = // Single Page Application roots configuration + config.spaRoot // Single Page Application roots configuration config.requestLogger // Request Logger configuration: http and websocket loggers config.bundledPlugins // Bundled plugins configuration: enable bundled plugins or add custom ones - config.events // Events configuration + config.events // Events configuration: server lifecycle events, handler added events config.contextResolver // Context resolver implementation configuration config.validation // Default validator configuration config.concurrency.useVirtualThreads // Use virtual threads (based on Java Project Loom) @@ -1174,9 +1232,9 @@ Javalin.create(config -> { config.startup.showOldJavalinVersionWarning // Show a warning if an old Javalin version is being used config.startup.startupWatcherEnabled // Print warning if instance was not started after 5 seconds - config.events(listenerConfig) // Add an event listener config.jsonMapper(jsonMapper) // Set a custom JsonMapper config.fileRenderer(fileRenderer) // Set a custom FileRenderer + config.resourceHandler(resourceHandler) // Set a custom ResourceHandler for static files (Jetty-free) config.registerPlugin(plugin) // Register a plugin config.appData(key, data) // Store data on the Javalin instance @@ -1200,6 +1258,7 @@ Javalin.create(config -> { config.http.compressionStrategy = new CompressionStrategy(new Brotli(lvl), new Gzip(lvl)); config.http.compressionStrategy = new CompressionStrategy(null, new Gzip(lvl)); config.http.compressionStrategy = new CompressionStrategy(new Brotli(lvl), null); + config.http.compressionStrategy = new CompressionStrategy(null, null, new Zstd(lvl)); config.http.compressionStrategy = CompressionStrategy.NONE; }); {% endcapture %} @@ -1216,6 +1275,7 @@ Javalin.create { config -> config.http.compressionStrategy = CompressionStrategy(Brotli(lvl), Gzip(lvl)) config.http.compressionStrategy = CompressionStrategy(null, Gzip(lvl)) config.http.compressionStrategy = CompressionStrategy(Brotli(lvl), null) + config.http.compressionStrategy = CompressionStrategy(null, null, Zstd(lvl)) config.http.compressionStrategy = CompressionStrategy.NONE } {% endcapture %} @@ -1587,6 +1647,39 @@ An example of a custom server with SSL can be found in the examples, A custom HTTP2 server is a bit more work to set up, but we have a repo with a fully functioning example server in both Kotlin and Java: [javalin-http2-example](https://github.com/tipsy/javalin-http2-example) +### BundledPluginsConfig +Javalin comes with several bundled plugins that can be enabled through `config.bundledPlugins`: + +{% capture java %} +Javalin.create(config -> { + config.bundledPlugins.enableRouteOverview("/routes"); // HTML/JSON overview of all routes + config.bundledPlugins.enableRouteOverview("/routes", roles); // route overview with access roles + config.bundledPlugins.enableBasicAuth("username", "password"); // basic auth for all routes + config.bundledPlugins.enableGlobalHeaders(headers -> { ... }); // add global response headers + config.bundledPlugins.enableCors(cors -> { ... }); // enable CORS + config.bundledPlugins.enableHttpAllowedMethodsOnRoutes(); // auto Access-Control-Allow-Methods for OPTIONS + config.bundledPlugins.enableDevLogging(); // development request/response logger + config.bundledPlugins.enableDevLogging(devCfg -> { ... }); // dev logger with custom config + config.bundledPlugins.enableRedirectToLowercasePaths(); // redirect /Users/John to /users/John + config.bundledPlugins.enableSslRedirects(); // redirect HTTP to HTTPS +}); +{% endcapture %} +{% capture kotlin %} +Javalin.create { config -> + config.bundledPlugins.enableRouteOverview("/routes") // HTML/JSON overview of all routes + config.bundledPlugins.enableRouteOverview("/routes", roles) // route overview with access roles + config.bundledPlugins.enableBasicAuth("username", "password") // basic auth for all routes + config.bundledPlugins.enableGlobalHeaders { headers -> } // add global response headers + config.bundledPlugins.enableCors { cors -> } // enable CORS + config.bundledPlugins.enableHttpAllowedMethodsOnRoutes() // auto Access-Control-Allow-Methods for OPTIONS + config.bundledPlugins.enableDevLogging() // development request/response logger + config.bundledPlugins.enableDevLogging { devCfg -> } // dev logger with custom config + config.bundledPlugins.enableRedirectToLowercasePaths() // redirect /Users/John to /users/John + config.bundledPlugins.enableSslRedirects() // redirect HTTP to HTTPS +} +{% endcapture %} +{% include macros/docsSnippet.html java=java kotlin=kotlin %} + ## Lifecycle events Javalin has events for server start/stop, as well as for when handlers are added. The snippet below shows all of them in action: @@ -1636,9 +1729,11 @@ The Javalin request lifecycle is pretty straightforward. The following snippet covers every place you can hook into: ```java config.routes.before // runs first, can throw exception (which will skip any endpoint handlers) -config.routes.get/post/patch/etc // runs second, can throw exception -config.routes.error // runs third, can throw exception -config.routes.after // runs fourth, can throw exception +config.routes.beforeMatched // runs after a matching endpoint is found, can throw exception +config.routes.get/post/patch/etc // runs third, can throw exception +config.routes.afterMatched // runs after the endpoint handler (only if a match was found) +config.routes.error // runs fifth, can throw exception +config.routes.after // runs sixth, can throw exception config.routes.exception // runs any time a handler throws (cannot throw exception) JavalinConfig#requestLogger // runs after response is written to client ``` From 8ae78b5ffe91e5caddf6b0efb3b10428cc7e626f Mon Sep 17 00:00:00 2001 From: tipsy Date: Sun, 22 Feb 2026 18:21:33 +0100 Subject: [PATCH 09/12] docs fix --- pages/docs/docs.md | 57 +++++++++++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 21 deletions(-) diff --git a/pages/docs/docs.md b/pages/docs/docs.md index 1a29cbd2..fa50fff3 100644 --- a/pages/docs/docs.md +++ b/pages/docs/docs.md @@ -19,6 +19,8 @@ permalink: /documentation - [Before](#wsbefore) - [Endpoint](#wsendpoint) - [After](#wsafter) + - [BeforeUpgrade](#wsbeforeupgrade) + - [AfterUpgrade](#wsafterupgrade) - [WsContext (wsCtx)](#wscontext) - [Handler groups](#handler-groups) - [Validation](#validation) @@ -41,6 +43,7 @@ permalink: /documentation - [RouterConfig](#routerconfig) - [SpaRootConfig](#sparootconfig) - [StaticFileConfig](#staticfileconfig) + - [BundledPluginsConfig](#bundledpluginsconfig) - [Logging](#logging) - [Server setup](#server-setup) - [Lifecycle events](#lifecycle-events) @@ -91,7 +94,7 @@ Javalin has three main handler types: before-handlers, endpoint-handlers, and af (There are also exception-handlers and error-handlers, but we'll get to them later). The before-, endpoint- and after-handlers require three parts: -* A verb, one of: `before`, `get`, `post`, `put`, `patch`, `delete`, `after` (... `head`, `options`, `trace`, `connect`) +* A verb, one of: `before`, `get`, `post`, `query`, `put`, `patch`, `delete`, `after` (... `head`, `options`, `trace`, `connect`) * A path, ex: `/`, `/hello-world`, `/hello/{name}` * A handler implementation, ex `ctx -> { ... }`, `MyClass implements Handler`, etc @@ -145,7 +148,7 @@ config.routes.beforeMatched { ctx -> Endpoint handlers are the main handler type, and defines your API. You can add a GET handler to serve data to a client, or a POST handler to receive some data. Common methods are supported via `config.routes` (GET, POST, QUERY, PUT, PATCH, DELETE, HEAD, OPTIONS), -uncommon operations (TRACE, CONNECT) are supported via `config.routes.addHandler`. +uncommon operations (TRACE, CONNECT) are supported via `config.routes.addHttpHandler`. The [QUERY method](https://httpwg.org/http-extensions/draft-ietf-httpbis-safe-method-w-body.html) is similar to GET, but allows a request body. This is useful for complex queries that don't fit in a URL. @@ -374,14 +377,17 @@ result() // get current result stream as string (if resultInputStream() // get current result stream contentType("type") // set the response content type header("name", "value") // set response header by name (can be used with Header.HEADERNAME) +removeHeader("name") // remove a response header by name redirect("/path", code) // redirect to the given path with the given status code status(code) // set the response status code -status() // get the response status code +status() // get the response status +statusCode() // get the response status code as int cookie("name", "value", maxAge) // set response cookie by name, with value and max-age (optional). cookie(cookie) // set cookie using javalin Cookie class removeCookie("name", "/path") // removes cookie by name and path (optional) json(obj) // calls result(jsonString), and also sets content type to json jsonStream(obj) // calls result(jsonStream), and also sets content type to json +writeJsonStream(stream) // writes JSON stream directly to response (memory efficient for large collections) html("html") // calls result(string), and also sets content type to html render("/template.tmpl", model) // calls html(renderedTemplate) res() // get the underlying HttpServletResponse @@ -506,7 +512,7 @@ config.routes.ws("/websocket/{path}") { ws -> {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} -There are a total of five events supported: +There are a total of six events supported: ```java ws.onConnect(WsConnectContext) @@ -514,6 +520,7 @@ ws.onError(WsErrorContext) ws.onClose(WsCloseContext) ws.onMessage(WsMessageContext) ws.onBinaryMessage(WsBinaryMessageContext) +ws.onUpgrade(WsUpgradeLogger) ``` The different flavors of `WsContext` expose different things, for example, @@ -1027,6 +1034,9 @@ Returns a [409 Conflict](https://developer.mozilla.org/en-US/docs/Web/HTTP/Statu ### GoneResponse Returns a [410 Gone](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/410) response with the default title `Gone`. +### TooManyRequestsResponse +Returns a [429 Too Many Requests](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429) response with the default title `Too many requests`. + ### InternalServerErrorResponse Returns a [500 Internal Server Error](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500) response with the default title `Internal server error`. @@ -1206,7 +1216,7 @@ onClose(runnable) // callback which runs when a client keepAlive() // keeps the connection alive. useful if you want to keep a list of clients to broadcast to. close() // closes the connection terminated() // returns true if the connection has been closed -ctx // the Context from when the client connected (to fetch query-params, etc) +ctx() // the Context from when the client connected (to fetch query-params, etc) ``` ## Configuration @@ -1249,7 +1259,7 @@ All available subconfigs are explained in the sections below. Javalin.create(config -> { config.http.generateEtags = booleanValue; // if javalin should generate etags for dynamic responses (not static files) config.http.prefer405over404 = booleanValue; // return 405 instead of 404 if path is mapped to different HTTP method - config.http.maxRequestSize = longValue; // the max size of request body that can be accessed without using using an InputStream + config.http.maxRequestSize = longValue; // the max size of request body that can be accessed without using an InputStream config.http.responseBufferSize = intValue; // the size of the response buffer (default 32kb) config.http.defaultContentType = stringValue; // the default content type config.http.asyncTimeout = longValue; // timeout in milliseconds for async requests (0 means no timeout) @@ -1266,7 +1276,7 @@ Javalin.create(config -> { Javalin.create { config -> config.http.generateEtags = booleanValue // if javalin should generate etags for dynamic responses (not static files) config.http.prefer405over404 = booleanValue // return 405 instead of 404 if path is mapped to different HTTP method - config.http.maxRequestSize = longValue // the max size of request body that can be accessed without using using an InputStream + config.http.maxRequestSize = longValue // the max size of request body that can be accessed without using an InputStream config.http.responseBufferSize = intValue // the size of the response buffer (default 32kb) config.http.defaultContentType = stringValue // the default content type config.http.asyncTimeout = longValue // timeout in milliseconds for async requests (0 means no timeout) @@ -1398,9 +1408,9 @@ Javalin.create(config -> { {% endcapture %} {% capture kotlin %} Javalin.create { config -> - config.requestLogger.ws(ws -> { + config.requestLogger.ws { ws -> ws.onMessage { ctx -> - println("Received: " + ctx.message()); + println("Received: " + ctx.message()) } } } @@ -1469,11 +1479,12 @@ Javalin.create(config -> { staticFiles.hostedPath = "/"; // change to host files on a subpath, like '/assets' staticFiles.directory = "/public"; // the directory where your files are located staticFiles.location = Location.CLASSPATH; // Location.CLASSPATH (jar) or Location.EXTERNAL (file system) - staticFiles.precompress = false; // if the files should be pre-compressed and cached in memory (optimization) + staticFiles.precompressMaxSize = 0; // max size for pre-compression in bytes (-1 to disable, 0 for all sizes) staticFiles.aliasCheck = null; // you can configure this to enable symlinks (= ContextHandler.ApproveAliases()) staticFiles.headers = Map.of(...); // headers that will be set for the files staticFiles.skipFileFunction = req -> false; // you can use this to skip certain files in the dir, based on the HttpServletRequest staticFiles.mimeTypes.add(mimeType, ext); // you can add custom mimetypes for extensions + staticFiles.roles = Set.of(roles); // roles that are allowed to access the static files (used in beforeMatched) }); }); {% endcapture %} @@ -1483,11 +1494,12 @@ Javalin.create { config -> staticFiles.hostedPath = "/" // change to host files on a subpath, like '/assets' staticFiles.directory = "/public" // the directory where your files are located staticFiles.location = Location.CLASSPATH // Location.CLASSPATH (jar) or Location.EXTERNAL (file system) - staticFiles.precompress = false // if the files should be pre-compressed and cached in memory (optimization) + staticFiles.precompressMaxSize = 0 // max size for pre-compression in bytes (-1 to disable, 0 for all sizes) staticFiles.aliasCheck = null // you can configure this to enable symlinks (= ContextHandler.ApproveAliases()) staticFiles.headers = mapOf(...) // headers that will be set for the files staticFiles.skipFileFunction = { req -> false } // you can use this to skip certain files in the dir, based on the HttpServletRequest staticFiles.mimeTypes.add(mimeType, ext) // you can add custom mimetypes for extensions + staticFiles.roles = setOf(roles) // roles that are allowed to access the static files (used in beforeMatched) } } {% endcapture %} @@ -1586,16 +1598,19 @@ Runtime.getRuntime().addShutdownHook(new Thread(() -> { })); ``` -If you want graceful shutdown, you can configure the server using the `modifyServer` method: +Javalin's default Jetty server includes a `StatisticsHandler`, so graceful shutdown works out of the box. +When `app.stop()` is called, the server will wait for active requests to complete before shutting down. + +If you are using a custom server, make sure to add a `StatisticsHandler` for graceful shutdown: {% capture java %} Javalin.create(config -> { - config.jetty.modifyServer(server -> server.setStopTimeout(5_000)); // wait 5 seconds for existing requests to finish + config.jetty.modifyServer(server -> server.insertHandler(new StatisticsHandler())); }); {% endcapture %} {% capture kotlin %} Javalin.create { config -> - config.jetty.modifyServer { server -> server.setStopTimeout(5_000) } // wait 5 seconds for existing requests to finish + config.jetty.modifyServer { server -> server.insertHandler(StatisticsHandler()) } } {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -1912,7 +1927,7 @@ private fun getRandomCatFactFuture(): CompletableFuture> { .uri(URI.create("https://catfact.ninja/fact")) .build() return httpClient.sendAsync(request, ofString()) -) +} {% endcapture %} {% include macros/docsSnippet.html java=java kotlin=kotlin %} @@ -1992,7 +2007,7 @@ config.routes.get("/async") { ctx -> To configure the JsonMapper, you need to pass an object which implements the `JsonMapper` interface to `config.jsonMapper()`. -The `JsonMapper` interface has four optional methods: +The `JsonMapper` interface has five optional methods: ```java String toJsonString(Object obj, Type type) { // basic method for mapping to json @@ -2018,7 +2033,7 @@ If you need further config, you can update the default settings like this: {% capture java %} config.jsonMapper(new JavalinJackson().updateMapper(mapper -> { mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); -}); +})); {% endcapture %} {% capture kotlin %} config.jsonMapper(JavalinJackson().updateMapper { mapper -> @@ -2064,8 +2079,8 @@ val app = Javalin.create { it.jsonMapper(gsonMapper) }.start(7070) ### Adding other Servlets and Filters to Javalin Javalin is designed to work with other `Servlet` and `Filter` instances running on the Jetty Server. -Filters are pretty straighforward to add, since they don't finish the request. -If you need to add a serlvet there's an example in the repo: +Filters are pretty straightforward to add, since they don't finish the request. +If you need to add a servlet there's an example in the repo: [/src/test/java/io/javalin/examples/HelloWorldServlet.java#L21-L29](https://github.com/javalin/javalin/blob/master/javalin/src/test/java/io/javalin/examples/HelloWorldServlet.java#L21-L29) You can also use it to build simple proxy using `AsyncProxyServlet` that is part of Jetty: @@ -2171,8 +2186,8 @@ which you can access like this: To map a path to a Vue component you use the `VueComponent` class: ```java -get("/messages", VueComponent("inbox-view")) -get("/messages/{user}", VueComponent("thread-view")) +config.routes.get("/messages", new VueComponent("inbox-view")); +config.routes.get("/messages/{user}", new VueComponent("thread-view")); ``` This will give you a lot of the benefits of a modern frontend architecture, From b84cfd553dcf0ee8dbbe9a50db0c5192b2f0c174 Mon Sep 17 00:00:00 2001 From: tipsy Date: Sun, 22 Feb 2026 18:24:32 +0100 Subject: [PATCH 10/12] custom handlers --- pages/docs/docs.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/pages/docs/docs.md b/pages/docs/docs.md index fa50fff3..78ec9427 100644 --- a/pages/docs/docs.md +++ b/pages/docs/docs.md @@ -217,6 +217,34 @@ config.routes.get("/path/*") { ctx -> // will match anything starting with /path However, you cannot extract the value of a wildcard. Use a slash accepting path-parameter (`` instead of `{param-name}`) if you need this behavior. +#### Custom HTTP methods +In Javalin 7, `HandlerType` is a record instead of an enum, which means you can create custom HTTP methods +dynamically using `HandlerType.findOrCreate("METHOD_NAME")`. This is useful for protocols like WebDAV +that use non-standard HTTP methods such as `PROPFIND`, `MKCOL`, `LOCK`, etc. + +{% capture java %} +HandlerType PROPFIND = HandlerType.findOrCreate("PROPFIND"); + +Javalin.create(config -> { + config.routes.addHttpHandler(PROPFIND, "/webdav/{resource}", ctx -> { + ctx.result("PROPFIND: " + ctx.pathParam("resource")); + }); +}); +{% endcapture %} +{% capture kotlin %} +val PROPFIND = HandlerType.findOrCreate("PROPFIND") + +Javalin.create { config -> + config.routes.addHttpHandler(PROPFIND, "/webdav/{resource}") { ctx -> + ctx.result("PROPFIND: " + ctx.pathParam("resource")) + } +} +{% endcapture %} +{% include macros/docsSnippet.html java=java kotlin=kotlin %} + +Custom methods work with all Javalin features including path parameters, roles, before/after handlers, and exception handling. +Method names must consist of uppercase letters only (e.g. `PROPFIND`, `MKCOL`). + ### After handlers After-handlers run after every request (even if an exception occurred)
You might know after-handlers as filters, interceptors, or middleware from other libraries.
From 15be3fbdd4fb7ff3a9f98b5db766618cec128dab Mon Sep 17 00:00:00 2001 From: tipsy Date: Sun, 22 Feb 2026 20:11:22 +0100 Subject: [PATCH 11/12] improved meta info --- _config.yml | 23 ++++++++ _includes/jsonld.html | 91 +++++++++++++++++++++++++++++++ _layouts/default.html | 14 ++++- llms.txt | 34 ++++++++++++ pages/about.md | 1 + pages/community.md | 1 + pages/comparison-to-spark.md | 1 + pages/docs/docs-past-1-7-0.md | 2 + pages/docs/docs-past-2-8-0.md | 2 + pages/docs/docs-past-3-13-X.md | 2 + pages/docs/docs-past-4-6-X.md | 2 + pages/docs/docs-past-5-6-x.md | 2 + pages/docs/docs.md | 1 + pages/docs/migration-guide-1-2.md | 2 + pages/docs/migration-guide-2-3.md | 2 + pages/docs/migration-guide-3-4.md | 2 + pages/docs/migration-guide-4-5.md | 2 + pages/docs/migration-guide-6-7.md | 1 + pages/download.md | 1 + pages/for-educators.md | 1 + pages/news.md | 1 + pages/plugins.md | 1 + pages/plugins/cors.md | 1 + pages/plugins/devlogging.md | 1 + pages/plugins/graphql.md | 1 + pages/plugins/how-to.md | 1 + pages/plugins/javalinvue.md | 1 + pages/plugins/micrometer.md | 1 + pages/plugins/openapi.md | 1 + pages/plugins/rendering.md | 1 + pages/plugins/routeoverview.md | 1 + pages/plugins/ssl-helpers.md | 1 + pages/tutorials.md | 1 + robots.txt | 7 +++ 34 files changed, 204 insertions(+), 3 deletions(-) create mode 100644 _includes/jsonld.html create mode 100644 llms.txt create mode 100644 robots.txt diff --git a/_config.yml b/_config.yml index cdd0a47f..c7dbd9e9 100644 --- a/_config.yml +++ b/_config.yml @@ -6,8 +6,31 @@ javalinversion: 7.0.0 slf4jversion: 2.0.17 repourl: https://github.com/javalin/website description: Javalin - A lightweight Java and Kotlin web framework. Create REST APIs in Java or Kotlin easily. +url: "https://javalin.io" baseurl: "" # the subpath of your site, e.g. /blog +defaults: + - scope: + path: "_posts/news/pre-3.0" + values: + noindex: true + sitemap: false + - scope: + path: "_posts/news/pre-4.0" + values: + noindex: true + sitemap: false + - scope: + path: "_posts/news/pre-5.0" + values: + noindex: true + sitemap: false + - scope: + path: "_posts/news/pre-6.0" + values: + noindex: true + sitemap: false + # Build settings markdown: kramdown sass: diff --git a/_includes/jsonld.html b/_includes/jsonld.html new file mode 100644 index 00000000..2f6e96ca --- /dev/null +++ b/_includes/jsonld.html @@ -0,0 +1,91 @@ +{% if page.splash %} + +{% elsif page.title %} +{% capture page_description %}{% if page.description %}{{ page.description }}{% elsif page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}{% endcapture %} +{% capture canonical_url %}{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}{% endcapture %} +{% if page.layout == 'blogpost' or page.layout == 'news' or page.layout == 'tutorial' %} + +{% else %} + +{% endif %} +{% endif %} + + diff --git a/_layouts/default.html b/_layouts/default.html index 772a2bcc..11a4b59f 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -5,20 +5,28 @@ - - + + + + + + + + {% if page.noindex %}{% endif %} {% if page.title %}{{ page.title }} - {% endif %}Javalin - A lightweight Java and Kotlin web framework - + + + {% include jsonld.html %}
diff --git a/llms.txt b/llms.txt new file mode 100644 index 00000000..c9e15338 --- /dev/null +++ b/llms.txt @@ -0,0 +1,34 @@ +# Javalin + +> Javalin is a lightweight web framework for Java and Kotlin. Version 7 (current) requires Java 17+ and runs on Jetty 12. All configuration — routes, handlers, plugins, lifecycle events — is passed upfront in a single config block when creating the instance. + +Key facts for v7: +- Minimum Java version is 17 (was 11 in v6) +- Built on Jetty 12 (was Jetty 11 in v6) +- All setup is done inside `Javalin.create(config -> { ... })` — routes and handlers are no longer added after `.start()` +- Template engine support is now modular: add `javalin-rendering-{engine}` instead of a monolithic `javalin-rendering` artifact +- Kotlin support targets Kotlin 2.0 + +## Docs + +- [Documentation](https://javalin.io/documentation): Full v7 reference — routing, handlers, WebSockets, validation, access management, SSE, configuration, lifecycle, plugins +- [Migration guide: v6 → v7](https://javalin.io/migration-guide-javalin-6-to-7): Required reading for anyone upgrading from v6; covers all breaking changes including the upfront-config model, Jetty 12, and Java 17 minimum + +## Plugins + +- [CORS plugin](https://javalin.io/plugins/cors): Configure CORS policies; replaces the old `app.enableCors()` API +- [OpenAPI plugin](https://javalin.io/plugins/openapi): Generate OpenAPI/Swagger documentation from annotated route handlers +- [Rendering plugin](https://javalin.io/plugins/rendering): Template engine support (Freemarker, Thymeleaf, Mustache, Velocity, Pebble, JTE, Handlebars, CommonMark) via per-engine `javalin-rendering-{engine}` modules +- [JavalinVue plugin](https://javalin.io/plugins/javalinvue): Server-driven Vue.js component loading without a build step +- [SSL plugin](https://javalin.io/plugins/ssl-helpers): HTTPS/HTTP2/mTLS configuration helper +- [GraphQL plugin](https://javalin.io/plugins/graphql): Add a GraphQL endpoint +- [Micrometer plugin](https://javalin.io/plugins/micrometer): Expose Micrometer metrics +- [Route overview plugin](https://javalin.io/plugins/routeoverview): Expose a JSON overview of all registered routes +- [Dev logging plugin](https://javalin.io/plugins/devlogging): Pretty-print incoming requests and responses during development +- [How to create plugins](https://javalin.io/plugins/how-to): Guide for writing custom Javalin plugins + +## Optional + +- [Archived v6 docs](https://javalin.io/archive/docs/v6.X.html): Full reference for Javalin 6 (Java 11+, Jetty 11) +- [Archived v5 docs](https://javalin.io/archive/docs/v5.6.X.html): Full reference for Javalin 5 + diff --git a/pages/about.md b/pages/about.md index 34fed341..d037df20 100644 --- a/pages/about.md +++ b/pages/about.md @@ -3,6 +3,7 @@ layout: default title: About rightmenu: false permalink: /about +description: "About Javalin — a lightweight Java and Kotlin web framework inspired by Sinatra and koa.js. Philosophy, API design, and Java/Kotlin interoperability." ---

About Javalin

diff --git a/pages/community.md b/pages/community.md index 885ece7e..9732244f 100644 --- a/pages/community.md +++ b/pages/community.md @@ -3,6 +3,7 @@ layout: default title: Community rightmenu: false permalink: /community +description: "Join the Javalin community. Discord server, GitHub discussions, contributors, and support resources." --- {% include notificationBanner.html %} diff --git a/pages/comparison-to-spark.md b/pages/comparison-to-spark.md index 794ba035..366b43f2 100644 --- a/pages/comparison-to-spark.md +++ b/pages/comparison-to-spark.md @@ -3,6 +3,7 @@ layout: default title: Comparison to SparkJava rightmenu: false permalink: /comparisons/sparkjava +description: "Comparison between Javalin and SparkJava. Differences in API design, features, async support, and WebSocket handling." ---

SparkJava and Javalin comparison

diff --git a/pages/docs/docs-past-1-7-0.md b/pages/docs/docs-past-1-7-0.md index 80c5b78b..860d8b73 100644 --- a/pages/docs/docs-past-1-7-0.md +++ b/pages/docs/docs-past-1-7-0.md @@ -3,6 +3,8 @@ layout: default title: Archive - v1 documentation rightmenu: true permalink: /archive/docs/v1.7.0.html +noindex: true +sitemap: false ---
diff --git a/pages/docs/docs-past-2-8-0.md b/pages/docs/docs-past-2-8-0.md index 0ccdde33..569dc2bf 100644 --- a/pages/docs/docs-past-2-8-0.md +++ b/pages/docs/docs-past-2-8-0.md @@ -3,6 +3,8 @@ layout: default title: Archive - v2 documentation rightmenu: true permalink: /archive/docs/v2.8.0.html +noindex: true +sitemap: false --- {% include notificationBanner.html %} diff --git a/pages/docs/docs-past-3-13-X.md b/pages/docs/docs-past-3-13-X.md index d7850c13..e9f42865 100644 --- a/pages/docs/docs-past-3-13-X.md +++ b/pages/docs/docs-past-3-13-X.md @@ -3,6 +3,8 @@ layout: default title: Archive - v3 documentation rightmenu: true permalink: /archive/docs/v3.13.X.html +noindex: true +sitemap: false --- {% include notificationBanner.html %} diff --git a/pages/docs/docs-past-4-6-X.md b/pages/docs/docs-past-4-6-X.md index c1e251e0..ee99866a 100644 --- a/pages/docs/docs-past-4-6-X.md +++ b/pages/docs/docs-past-4-6-X.md @@ -3,6 +3,8 @@ layout: default title: Archive - v4 Documentation rightmenu: true permalink: /archive/docs/v4.6.X.html +noindex: true +sitemap: false --- {% include notificationBanner.html %} diff --git a/pages/docs/docs-past-5-6-x.md b/pages/docs/docs-past-5-6-x.md index 96f84fb0..5b94d566 100644 --- a/pages/docs/docs-past-5-6-x.md +++ b/pages/docs/docs-past-5-6-x.md @@ -3,6 +3,8 @@ layout: default title: Archive - v5 Documentation rightmenu: true permalink: /archive/docs/v5.6.X.html +noindex: true +sitemap: false --- {% include notificationBanner.html %} diff --git a/pages/docs/docs.md b/pages/docs/docs.md index 78ec9427..916d4e7e 100644 --- a/pages/docs/docs.md +++ b/pages/docs/docs.md @@ -3,6 +3,7 @@ layout: default title: Documentation rightmenu: true permalink: /documentation +description: "Javalin v7 documentation. Full reference for routing, handlers, WebSockets, validation, SSE, and configuration. Java 17+, Jetty 12." --- {% include notificationBanner.html %} diff --git a/pages/docs/migration-guide-1-2.md b/pages/docs/migration-guide-1-2.md index 0fb17b55..3639681f 100644 --- a/pages/docs/migration-guide-1-2.md +++ b/pages/docs/migration-guide-1-2.md @@ -1,5 +1,7 @@ --- layout: default +noindex: true +sitemap: false title: Migration guide, v1 to v2 rightmenu: false permalink: /migration-guide-javalin-1-to-2 diff --git a/pages/docs/migration-guide-2-3.md b/pages/docs/migration-guide-2-3.md index 718bd3f1..8e104113 100644 --- a/pages/docs/migration-guide-2-3.md +++ b/pages/docs/migration-guide-2-3.md @@ -1,5 +1,7 @@ --- layout: default +noindex: true +sitemap: false title: Migration guide, v2 to v3 rightmenu: false permalink: /migration-guide-javalin-2-to-3 diff --git a/pages/docs/migration-guide-3-4.md b/pages/docs/migration-guide-3-4.md index eb480f2e..f2db653f 100644 --- a/pages/docs/migration-guide-3-4.md +++ b/pages/docs/migration-guide-3-4.md @@ -1,5 +1,7 @@ --- layout: default +noindex: true +sitemap: false title: Migration guide, v3 to v4 rightmenu: false permalink: /migration-guide-javalin-3-to-4 diff --git a/pages/docs/migration-guide-4-5.md b/pages/docs/migration-guide-4-5.md index 30192d86..8c84f648 100644 --- a/pages/docs/migration-guide-4-5.md +++ b/pages/docs/migration-guide-4-5.md @@ -1,5 +1,7 @@ --- layout: default +noindex: true +sitemap: false title: Migration guide, v4 to v5 rightmenu: false permalink: /migration-guide-javalin-4-to-5 diff --git a/pages/docs/migration-guide-6-7.md b/pages/docs/migration-guide-6-7.md index c86f6a0b..506236bf 100644 --- a/pages/docs/migration-guide-6-7.md +++ b/pages/docs/migration-guide-6-7.md @@ -3,6 +3,7 @@ layout: default title: Migration guide, v6 to v7 rightmenu: false permalink: /migration-guide-javalin-6-to-7 +description: "How to migrate from Javalin 6 to Javalin 7. Covers the upfront config model, Java 17 minimum, Jetty 12, and all breaking API changes." ---

Javalin 6 to 7 migration guide

diff --git a/pages/download.md b/pages/download.md index 5c27fc19..b062171c 100644 --- a/pages/download.md +++ b/pages/download.md @@ -3,6 +3,7 @@ layout: default title: Download rightmenu: false permalink: /download +description: "Download Javalin. Maven and Gradle dependency snippets for the latest version." --- {% include notificationBanner.html %} diff --git a/pages/for-educators.md b/pages/for-educators.md index 562311d0..f0f76f92 100644 --- a/pages/for-educators.md +++ b/pages/for-educators.md @@ -3,6 +3,7 @@ layout: default title: For educators rightmenu: false permalink: /for-educators +description: "Why Javalin is ideal for programming courses, demos, and prototypes. Simple setup, minimal boilerplate, great for teaching." ---

For educators

diff --git a/pages/news.md b/pages/news.md index 2255cb12..2257ccee 100644 --- a/pages/news.md +++ b/pages/news.md @@ -3,6 +3,7 @@ layout: default title: News rightmenu: false permalink: /news/ +description: "Javalin release notes, announcements, and changelog." --- {% include notificationBanner.html %} diff --git a/pages/plugins.md b/pages/plugins.md index ec3c65b0..437bab72 100644 --- a/pages/plugins.md +++ b/pages/plugins.md @@ -3,6 +3,7 @@ layout: default title: Plugin store rightmenu: false permalink: /plugins/ +description: "Javalin plugins — CORS, OpenAPI, rendering, SSL, Micrometer, GraphQL, JavalinVue, and more." --- diff --git a/pages/plugins/cors.md b/pages/plugins/cors.md index 5ebe07e4..91d34a2c 100644 --- a/pages/plugins/cors.md +++ b/pages/plugins/cors.md @@ -3,6 +3,7 @@ layout: default title: CORS plugin documentation rightmenu: true permalink: /plugins/cors +description: "Configure Cross-Origin Resource Sharing (CORS) in Javalin using the built-in CORS plugin." ---
diff --git a/pages/plugins/devlogging.md b/pages/plugins/devlogging.md index 00198c04..375827a5 100644 --- a/pages/plugins/devlogging.md +++ b/pages/plugins/devlogging.md @@ -3,6 +3,7 @@ layout: default title: DevLoggingPlugin documentation rightmenu: false permalink: /plugins/devlogging +description: "Pretty-print incoming requests and responses in development using the Javalin DevLogging plugin." ---

DevLoggingPlugin

diff --git a/pages/plugins/graphql.md b/pages/plugins/graphql.md index b8976c2e..49b75433 100644 --- a/pages/plugins/graphql.md +++ b/pages/plugins/graphql.md @@ -3,6 +3,7 @@ layout: default title: GraphQL documentation rightmenu: true permalink: /plugins/graphql +description: "Add a GraphQL endpoint to a Javalin application using the GraphQL plugin." ---
diff --git a/pages/plugins/how-to.md b/pages/plugins/how-to.md index ecec3840..1f664705 100644 --- a/pages/plugins/how-to.md +++ b/pages/plugins/how-to.md @@ -3,6 +3,7 @@ layout: default title: How to write a Javalin plugin rightmenu: true permalink: /plugins/how-to +description: "How to create custom plugins for Javalin. Covers the plugin API, lifecycle hooks, and registration." ---
diff --git a/pages/plugins/javalinvue.md b/pages/plugins/javalinvue.md index c5dbf1d4..b1570289 100644 --- a/pages/plugins/javalinvue.md +++ b/pages/plugins/javalinvue.md @@ -3,6 +3,7 @@ layout: default title: JavalinVue Plugin rightmenu: true permalink: /plugins/javalinvue +description: "Server-driven Vue.js component loading in Javalin without a build step, using the JavalinVue plugin." ---
diff --git a/pages/plugins/micrometer.md b/pages/plugins/micrometer.md index 7da12d8f..5a58afd6 100644 --- a/pages/plugins/micrometer.md +++ b/pages/plugins/micrometer.md @@ -3,6 +3,7 @@ layout: default title: Micrometer documentation rightmenu: true permalink: /plugins/micrometer +description: "Expose Micrometer metrics from a Javalin application using the Micrometer plugin." ---
diff --git a/pages/plugins/openapi.md b/pages/plugins/openapi.md index 782f19f1..1d44b7a0 100644 --- a/pages/plugins/openapi.md +++ b/pages/plugins/openapi.md @@ -3,6 +3,7 @@ layout: default title: OpenAPI documentation rightmenu: false permalink: /plugins/openapi +description: "Generate OpenAPI/Swagger documentation for Javalin routes using the OpenAPI plugin." --- This plugin has been moved out of the main repo, diff --git a/pages/plugins/rendering.md b/pages/plugins/rendering.md index 136df0d5..84159da1 100644 --- a/pages/plugins/rendering.md +++ b/pages/plugins/rendering.md @@ -3,6 +3,7 @@ layout: default title: Javalin Rendering rightmenu: false permalink: /plugins/rendering +description: "Template rendering in Javalin via modular javalin-rendering-{engine} modules. Supports Freemarker, Thymeleaf, Mustache, JTE, Pebble, Handlebars, Velocity, and CommonMark." ---

Javalin rendering

diff --git a/pages/plugins/routeoverview.md b/pages/plugins/routeoverview.md index ca3280df..542ce314 100644 --- a/pages/plugins/routeoverview.md +++ b/pages/plugins/routeoverview.md @@ -3,6 +3,7 @@ layout: default title: RouteOverview documentation rightmenu: false permalink: /plugins/routeoverview +description: "Expose a JSON/HTML overview of all registered routes in a Javalin application using the RouteOverview plugin." ---

RouteOverview Plugin

diff --git a/pages/plugins/ssl-helpers.md b/pages/plugins/ssl-helpers.md index c849735e..56626788 100644 --- a/pages/plugins/ssl-helpers.md +++ b/pages/plugins/ssl-helpers.md @@ -3,6 +3,7 @@ layout: default title: SSL Plugin rightmenu: true permalink: /plugins/ssl-helpers +description: "Configure HTTPS, HTTP/2, and mutual TLS in Javalin using the SSL plugin." ---
diff --git a/pages/tutorials.md b/pages/tutorials.md index ab9dc55e..4c323403 100644 --- a/pages/tutorials.md +++ b/pages/tutorials.md @@ -2,6 +2,7 @@ layout: default title: Tutorials permalink: /tutorials/ +description: "Javalin tutorials — step-by-step guides for REST APIs, WebSockets, testing, authentication, and more." --- {% include notificationBanner.html %} diff --git a/robots.txt b/robots.txt new file mode 100644 index 00000000..b0408346 --- /dev/null +++ b/robots.txt @@ -0,0 +1,7 @@ +--- +--- +User-agent: * +Allow: / + +Sitemap: {{ site.url }}/sitemap.xml + From 12e86e40c6b82fd4ba6065bf0232c389b41a00b4 Mon Sep 17 00:00:00 2001 From: tipsy Date: Sun, 22 Feb 2026 22:22:38 +0100 Subject: [PATCH 12/12] openapi plugin link --- pages/plugins.md | 2 +- pages/plugins/openapi.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pages/plugins.md b/pages/plugins.md index 437bab72..795169ab 100644 --- a/pages/plugins.md +++ b/pages/plugins.md @@ -30,7 +30,7 @@ please report it on GitHub (link in plugin card). " bundled="false" author="dzikoysk" - docsUrl="https://github.com/javalin/javalin-openapi#readme" + docsUrl="https://javalin.github.io/javalin-openapi/" ratingIssueNr="133" %} diff --git a/pages/plugins/openapi.md b/pages/plugins/openapi.md index 1d44b7a0..3527c89e 100644 --- a/pages/plugins/openapi.md +++ b/pages/plugins/openapi.md @@ -7,8 +7,8 @@ description: "Generate OpenAPI/Swagger documentation for Javalin routes using th --- This plugin has been moved out of the main repo, -it now lives at [https://github.com/javalin/javalin-openapi](https://github.com/javalin/javalin-openapi) +it now lives at [https://javalin.github.io/javalin-openapi/](https://javalin.github.io/javalin-openapi/)