Skip to content
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
b5b002b
KTOR-8726 Add documentation for static content custom fallback (#670)
vnikolova Sep 3, 2025
b4589fd
KTOR-8718 Upgrade to Kotlin 2.2.10
vnikolova Sep 5, 2025
605c89e
KTOR-8730 Mention the upgrade of OkHttp to version 5.1.0 in the "what…
vnikolova Sep 5, 2025
cd8df7b
KTOR-8834 Mention Jetty version upgrade in whats-new-330.md (#675)
vnikolova Sep 9, 2025
99a0970
KTOR-8822 Documentation for SSE response body buffer (#674)
vnikolova Sep 9, 2025
0e9cc79
KTOR-8845 Document limitations of auto-reload (#676)
vnikolova Sep 9, 2025
f5bfbfd
docs: feat: KTOR-8860 Documentation for OpenAPI generation build exte…
vnikolova Sep 17, 2025
44d808a
KTOR-8856 unified OkHttp SSE session (#680)
ElviraMustafina Sep 17, 2025
8ab00ad
KTOR-8867 Add documentation for WebRTC client (#682)
vnikolova Sep 17, 2025
344787e
KTOR-8862 HTTP/2 without TLS (#681)
ElviraMustafina Sep 18, 2025
f02f202
Update Ktor and Gradle versions and add release details
vnikolova Sep 18, 2025
9dcf94f
Merge remote-tracking branch 'origin/main' into 3.3.0
vnikolova Sep 18, 2025
ccd2f53
Exclude jetty examples from sample project and add a note for Getty c…
vnikolova Sep 18, 2025
9336810
Add a link to openapi sample project
vnikolova Sep 18, 2025
9567fb7
KTOR-8849 Static resources with caching headers and ETag
danil-pavlov Sep 17, 2025
73bb687
fix: review suggestions
danil-pavlov Sep 19, 2025
55c9e3f
Remove redundancy in openapi code example
vnikolova Sep 19, 2025
f5cd5b9
fix: review suggestions
danil-pavlov Sep 19, 2025
f3df985
fix: review suggestions
danil-pavlov Sep 19, 2025
f7e54aa
Merge pull request #684 from ktorio/static-etag
danil-pavlov Sep 19, 2025
5de8c44
Remove eap repository from the websocket tutorial sample
vnikolova Sep 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions codeSnippets/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ kotlin.native.binary.memoryModel = experimental
# gradle configuration
org.gradle.configureondemand = false
# versions
kotlin_version = 2.1.20
ktor_version = 3.2.3
kotlin_version = 2.2.10
ktor_version = 3.3.0
kotlinx_coroutines_version = 1.10.1
kotlinx_serialization_version = 1.8.0
kotlin_css_version = 1.0.0-pre.721
Expand Down
3 changes: 2 additions & 1 deletion codeSnippets/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
6 changes: 3 additions & 3 deletions codeSnippets/settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ fun module(group: String, name: String) {

// ---------------------------

module("snippets", "jetty-war")
module("snippets", "tomcat-war")
//module("snippets", "jetty-war")
//module("snippets", "tomcat-war")
Comment on lines +25 to +26

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are these commented?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because the examples use Getty which has no support for Jetty 12, so they're not compatible with this version of Ktor.

module("snippets", "auth-basic")
module("snippets", "auth-bearer")
module("snippets", "auth-basic-hash-table")
Expand Down Expand Up @@ -135,7 +135,7 @@ module("snippets", "status-pages")
module("snippets", "client-download-file-range")
module("snippets", "shutdown-url")
module("snippets", "double-receive")
module("snippets", "tomcat-war-ssl")
//module("snippets", "tomcat-war-ssl")
module("snippets", "sockets-client")
module("snippets", "sockets-client-tls")
module("snippets", "sockets-server")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
2 changes: 1 addition & 1 deletion codeSnippets/snippets/auth-form-session/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
2 changes: 1 addition & 1 deletion codeSnippets/snippets/auth-jwt-hs256/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
2 changes: 1 addition & 1 deletion codeSnippets/snippets/auth-jwt-rs256/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
2 changes: 1 addition & 1 deletion codeSnippets/snippets/auth-oauth-google/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
id("io.ktor.plugin") version "3.2.3"
id("io.ktor.plugin") version "3.3.0"
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ val hamcrest_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
2 changes: 1 addition & 1 deletion codeSnippets/snippets/client-engine-js/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ val kotlinx_html_version: String by project

plugins {
kotlin("multiplatform")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

repositories {
Expand Down
2 changes: 1 addition & 1 deletion codeSnippets/snippets/client-json-kotlinx/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ val hamcrest_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
2 changes: 1 addition & 1 deletion codeSnippets/snippets/client-sse/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ val hamcrest_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
2 changes: 1 addition & 1 deletion codeSnippets/snippets/client-testing-mock/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ val hamcrest_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ val hamcrest_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ val hamcrest_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
2 changes: 1 addition & 1 deletion codeSnippets/snippets/cors/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ val junit_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
id("io.ktor.plugin") version "3.2.3"
id("io.ktor.plugin") version "3.3.0"
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
id("io.ktor.plugin") version "3.2.3"
id("io.ktor.plugin") version "3.3.0"
}

application {
Expand Down
2 changes: 1 addition & 1 deletion codeSnippets/snippets/forwarded-header/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
id("io.ktor.plugin") version "3.2.3"
id("io.ktor.plugin") version "3.3.0"
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ junit = "4.13.2"
kotlin = "2.2.0"
kotlinx-coroutines = "1.10.2"
kotlinxSerializationJson = "1.8.1"
ktor = "3.2.3"
ktor = "3.3.0"
logback = "1.5.18"

[libraries]
Expand Down
2 changes: 1 addition & 1 deletion codeSnippets/snippets/htmx-integration/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ val logback_version: String by project

plugins {
kotlin("jvm")
id("io.ktor.plugin") version "3.2.3"
id("io.ktor.plugin") version "3.3.0"
}

group = "com.example"
Expand Down
2 changes: 1 addition & 1 deletion codeSnippets/snippets/jetty-war/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
id("org.gretty") version "4.0.3"
id("org.gretty") version "4.1.7"
id("war")
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ val swagger_codegen_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
2 changes: 1 addition & 1 deletion codeSnippets/snippets/json-kotlinx/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
id("io.ktor.plugin") version "3.2.3"
id("io.ktor.plugin") version "3.3.0"
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ val logback_version: String by project

plugins {
application
kotlin("jvm") version "2.1.20"
kotlin("plugin.serialization").version("2.1.20")
kotlin("jvm") version "2.2.10"
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ktor_version=3.2.3
kotlin_version=2.1.20
ktor_version=3.3.0
kotlin_version=2.2.10
logback_version=1.5.6
kotlin.code.style=official
2 changes: 1 addition & 1 deletion codeSnippets/snippets/proguard/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ buildscript {
plugins {
application
kotlin("jvm")
id("io.ktor.plugin") version "3.2.3"
id("io.ktor.plugin") version "3.3.0"
}

application {
Expand Down
2 changes: 1 addition & 1 deletion codeSnippets/snippets/request-validation/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
2 changes: 1 addition & 1 deletion codeSnippets/snippets/resource-routing/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
2 changes: 1 addition & 1 deletion codeSnippets/snippets/server-sse/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
id("io.ktor.plugin") version "3.2.3"
kotlin("plugin.serialization").version("2.1.20")
id("io.ktor.plugin") version "3.3.0"
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ val logback_version: String by project
plugins {
application
kotlin("jvm")
kotlin("plugin.serialization").version("2.1.20")
kotlin("plugin.serialization").version("2.2.10")
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ package com.example
import io.ktor.http.*
import io.ktor.server.application.*
import io.ktor.server.http.content.*
import io.ktor.server.response.respond
import io.ktor.server.response.respondFile
import io.ktor.server.response.respondRedirect
import io.ktor.server.routing.*
import java.io.*

Expand All @@ -19,6 +22,14 @@ fun Application.module() {
staticFiles("/files", File("textFiles")) {
default("html-file.txt")
exclude { file -> file.path.contains("excluded") }
fallback { requestedPath, call ->
when {
requestedPath.endsWith(".php") -> call.respondRedirect("/static/index.html") // absolute path
requestedPath.endsWith(".kt") -> call.respondRedirect("Default.kt") // relative path
requestedPath.endsWith(".xml") -> call.respond(HttpStatusCode.Gone)
else -> call.respondFile(File("files/index.html"))
}
}
contentType { file ->
when (file.name) {
"html-file.txt" -> ContentType.Text.Html
Expand Down
Loading