Created
October 7, 2022 11:48
-
-
Save s1monw1/aac659331ceca64bb4ea0f73ec289f77 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
val pingPongHandler: HttpHandler = { _ -> Response(OK).body("pong!") } | |
val greetHandler: HttpHandler = { req: Request -> | |
val name: String? = req.query("name") | |
Response(OK).body("hello ${name ?: "unknown!"}") | |
} | |
val routing: RoutingHttpHandler = routes( | |
"/ping" bind GET to pingPongHandler, | |
"/greet" bind GET to greetHandler | |
) | |
val requestTimeLogger: Filter = Filter { next: HttpHandler -> | |
{ request: Request -> | |
val start = clock.millis() | |
val response = next(request) | |
val latency = clock.millis() - start | |
logger { "Request to ${request.uri} took ${latency}ms" } | |
response | |
} | |
} | |
val app: HttpHandler = | |
ResponseFilters.GZip() | |
.then(requestTimeLogger) | |
.then(routing) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment