Add an URL for shutting down the server

Estimated reading time: 1 minute

This feature enables a URL that when accessed, shutdowns the server.

There are two ways to use it: Automatically using HOCON and Installing the feature

This feature is defined in the class io.ktor.server.engine.ShutDownUrl.ApplicationCallFeature in the artifact io.ktor:ktor-server-host-common:$ktor_version.
dependencies { compile "io.ktor:ktor-server-host-common:$ktor_version" }
<project> ... <dependencies> <dependency> <groupId>io.ktor</groupId> <artifactId>ktor-server-host-common</artifactId> <version>${ktor.version}</version> <scope>compile</scope> </dependency> </dependencies> </project>

Automatically using HOCON

You can configure a shutdown URL using HOCON with the ktor.deployment.shutdown.url property.

ktor {
    deployment {
        shutdown.url = "/my/shutdown/path"
    }
}

Installing the feature

You can manually install the feature, with ShutDownUrl.ApplicationCallFeature and set the shutDownUrl and an exitCodeSupplier:

install(ShutDownUrl.ApplicationCallFeature) {
    // The URL that will be intercepted
    shutDownUrl = "/ktor/application/shutdown"
    // A function that will be executed to get the exit code of the process
    exitCodeSupplier = { 0 } // ApplicationCall.() -> Int
}