🔧 Changes plugin config
This commit is contained in:
parent
f10ce92627
commit
42544a2478
@ -9,11 +9,11 @@ plugins {
|
|||||||
id("org.jetbrains.kotlin.plugin.serialization") version "2.1.10"
|
id("org.jetbrains.kotlin.plugin.serialization") version "2.1.10"
|
||||||
}
|
}
|
||||||
|
|
||||||
group = "svitan.dev"
|
group = "dev.svitan"
|
||||||
version = "0.0.1"
|
version = "0.0.1"
|
||||||
|
|
||||||
application {
|
application {
|
||||||
mainClass = "svitan.dev.ApplicationKt"
|
mainClass = "dev.svitan.ApplicationKt"
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
|
@ -1,9 +1,15 @@
|
|||||||
package svitan.dev
|
package dev.svitan
|
||||||
|
|
||||||
import io.github.cdimascio.dotenv.dotenv
|
import io.github.cdimascio.dotenv.dotenv
|
||||||
import io.ktor.server.application.*
|
import io.ktor.server.application.*
|
||||||
import io.ktor.server.engine.*
|
import io.ktor.server.engine.*
|
||||||
import io.ktor.server.netty.*
|
import io.ktor.server.netty.*
|
||||||
|
import dev.svitan.plugins.configureAdministration
|
||||||
|
import dev.svitan.plugins.configureDatabases
|
||||||
|
import dev.svitan.plugins.configureHTTP
|
||||||
|
import dev.svitan.plugins.configureMonitoring
|
||||||
|
import dev.svitan.plugins.configureRouting
|
||||||
|
import dev.svitan.plugins.configureSecurity
|
||||||
|
|
||||||
fun main() {
|
fun main() {
|
||||||
embeddedServer(
|
embeddedServer(
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package svitan.dev
|
package dev.svitan
|
||||||
|
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package svitan.dev
|
package dev.svitan.plugins
|
||||||
|
|
||||||
import io.github.flaxoos.ktor.server.plugins.ratelimiter.RateLimiting
|
import io.github.flaxoos.ktor.server.plugins.ratelimiter.RateLimiting
|
||||||
import io.github.flaxoos.ktor.server.plugins.ratelimiter.implementations.TokenBucket
|
import io.github.flaxoos.ktor.server.plugins.ratelimiter.implementations.TokenBucket
|
@ -1,4 +1,4 @@
|
|||||||
package svitan.dev
|
package dev.svitan.plugins
|
||||||
|
|
||||||
import io.ktor.http.*
|
import io.ktor.http.*
|
||||||
import io.ktor.server.application.*
|
import io.ktor.server.application.*
|
||||||
@ -6,6 +6,8 @@ import io.ktor.server.request.*
|
|||||||
import io.ktor.server.response.*
|
import io.ktor.server.response.*
|
||||||
import io.ktor.server.routing.*
|
import io.ktor.server.routing.*
|
||||||
import org.jetbrains.exposed.sql.Database
|
import org.jetbrains.exposed.sql.Database
|
||||||
|
import dev.svitan.ExposedUser
|
||||||
|
import dev.svitan.UserService
|
||||||
|
|
||||||
fun Application.configureDatabases() {
|
fun Application.configureDatabases() {
|
||||||
val database = Database.connect(
|
val database = Database.connect(
|
@ -1,4 +1,4 @@
|
|||||||
package svitan.dev
|
package dev.svitan.plugins
|
||||||
|
|
||||||
import io.ktor.http.*
|
import io.ktor.http.*
|
||||||
import io.ktor.server.application.*
|
import io.ktor.server.application.*
|
||||||
@ -8,11 +8,10 @@ import io.ktor.server.plugins.cors.routing.*
|
|||||||
fun Application.configureHTTP() {
|
fun Application.configureHTTP() {
|
||||||
install(CORS) {
|
install(CORS) {
|
||||||
allowMethod(HttpMethod.Options)
|
allowMethod(HttpMethod.Options)
|
||||||
|
allowMethod(HttpMethod.Post)
|
||||||
allowMethod(HttpMethod.Put)
|
allowMethod(HttpMethod.Put)
|
||||||
allowMethod(HttpMethod.Delete)
|
|
||||||
allowMethod(HttpMethod.Patch)
|
allowMethod(HttpMethod.Patch)
|
||||||
allowHeader(HttpHeaders.Authorization)
|
allowMethod(HttpMethod.Delete)
|
||||||
allowHeader("MyCustomHeader")
|
|
||||||
anyHost() // @TODO: Don't do this in production if possible. Try to limit it.
|
anyHost() // @TODO: Don't do this in production if possible. Try to limit it.
|
||||||
}
|
}
|
||||||
install(Compression)
|
install(Compression)
|
@ -1,4 +1,4 @@
|
|||||||
package svitan.dev
|
package dev.svitan.plugins
|
||||||
|
|
||||||
import io.ktor.server.application.*
|
import io.ktor.server.application.*
|
||||||
import io.ktor.server.plugins.calllogging.*
|
import io.ktor.server.plugins.calllogging.*
|
@ -1,10 +1,12 @@
|
|||||||
package svitan.dev
|
package dev.svitan.plugins
|
||||||
|
|
||||||
import io.ktor.http.*
|
import io.ktor.http.*
|
||||||
import io.ktor.server.application.*
|
import io.ktor.server.application.*
|
||||||
import io.ktor.server.plugins.requestvalidation.*
|
import io.ktor.server.plugins.requestvalidation.*
|
||||||
import io.ktor.server.plugins.statuspages.*
|
import io.ktor.server.plugins.statuspages.*
|
||||||
import io.ktor.server.response.*
|
import io.ktor.server.response.*
|
||||||
|
import io.ktor.server.routing.get
|
||||||
|
import io.ktor.server.routing.routing
|
||||||
|
|
||||||
fun Application.configureRouting() {
|
fun Application.configureRouting() {
|
||||||
install(RequestValidation) {
|
install(RequestValidation) {
|
||||||
@ -20,4 +22,10 @@ fun Application.configureRouting() {
|
|||||||
call.respondText(text = "500: $cause", status = HttpStatusCode.InternalServerError)
|
call.respondText(text = "500: $cause", status = HttpStatusCode.InternalServerError)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
routing {
|
||||||
|
get("/") {
|
||||||
|
call.respond("Hello World!")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package svitan.dev
|
package dev.svitan.plugins
|
||||||
|
|
||||||
import io.github.cdimascio.dotenv.Dotenv
|
import io.github.cdimascio.dotenv.Dotenv
|
||||||
import io.ktor.server.application.*
|
import io.ktor.server.application.*
|
||||||
@ -9,7 +9,7 @@ fun Application.configureSecurity(dotenv: Dotenv) {
|
|||||||
|
|
||||||
authentication {
|
authentication {
|
||||||
basic {
|
basic {
|
||||||
realm = "Ktor Server"
|
realm = "ktor"
|
||||||
validate { credentials ->
|
validate { credentials ->
|
||||||
if (credentials.name == "admin" && credentials.password == apiKey) {
|
if (credentials.name == "admin" && credentials.password == apiKey) {
|
||||||
UserIdPrincipal(credentials.name)
|
UserIdPrincipal(credentials.name)
|
@ -1,4 +1,4 @@
|
|||||||
package svitan.dev
|
package dev.svitan
|
||||||
|
|
||||||
import io.ktor.client.request.*
|
import io.ktor.client.request.*
|
||||||
import io.ktor.http.*
|
import io.ktor.http.*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user