Skip to content

Commit dc75df3

Browse files
committed
[a2a] Add CORS configuration
1 parent bed13db commit dc75df3

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ kotlin {
1919
implementation(libs.ktor.serialization.kotlinx.json)
2020
implementation(libs.ktor.server.content.negotiation)
2121
implementation(libs.ktor.server.sse)
22+
implementation(libs.ktor.server.cors)
2223
}
2324
}
2425

a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/commonMain/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransport.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import io.ktor.server.engine.ApplicationEngineFactory
1919
import io.ktor.server.engine.EmbeddedServer
2020
import io.ktor.server.engine.embeddedServer
2121
import io.ktor.server.plugins.contentnegotiation.ContentNegotiation
22+
import io.ktor.server.plugins.cors.routing.CORS
2223
import io.ktor.server.request.receiveText
2324
import io.ktor.server.response.header
2425
import io.ktor.server.response.respond
@@ -130,6 +131,11 @@ public class HttpJSONRPCServerTransport(
130131
json(JSONRPCJson)
131132
}
132133

134+
install(CORS) {
135+
anyHost()
136+
allowNonSimpleContentTypes = true
137+
}
138+
133139
transportRoutes(this, path)
134140

135141
if (agentCard != null) {

gradle/libs.versions.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ ktor-server-cio = { module = "io.ktor:ktor-server-cio", version.ref = "ktor3" }
7171
ktor-server-netty = { module = "io.ktor:ktor-server-netty-jvm", version.ref = "ktor3" }
7272
ktor-server-sse = { module = "io.ktor:ktor-server-sse", version.ref = "ktor3" }
7373
ktor-server-content-negotiation = { module = "io.ktor:ktor-server-content-negotiation", version.ref = "ktor3" }
74+
ktor-server-cors = { module = "io.ktor:ktor-server-cors", version.ref = "ktor3" }
7475
ktor-server-test-host = { module = "io.ktor:ktor-server-test-host", version.ref = "ktor3" }
7576
lettuce-core = { module = "io.lettuce:lettuce-core", version.ref = "lettuce" }
7677
logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }

0 commit comments

Comments
 (0)