summaryrefslogtreecommitdiff
path: root/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/ktorServer/server.kt.vm
blob: 3fe6a9c0e090db7531faf7f567ea7964beffecd7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package ${package}

import io.ktor.http.HttpStatusCode
import io.ktor.server.application.*
import io.ktor.server.engine.embeddedServer
import io.ktor.server.html.*
import io.ktor.server.http.content.*
import io.ktor.server.netty.Netty
import io.ktor.server.routing.*
#foreach($import in $imports)
import $import
#end
import kotlinx.html.*

fun HTML.index() {
    head {
        title("Hello from Ktor!")
    }
    body {
        div {
            +"Hello from Ktor"
        }
        #foreach($element in $elements)
        $element
        #end
    }
}

fun main() {
    embeddedServer(Netty, port = 8080, host = "127.0.0.1") {
        routing {
            get("/") {
                call.respondHtml(HttpStatusCode.OK, HTML::index)
            }
            #foreach($route in $routes)
            $route
            #end
        }
    }.start(wait = true)
}