Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gimlet2/kottpd

REST framework written in pure Kotlin
https://github.com/gimlet2/kottpd

Last synced: 14 days ago
JSON representation

REST framework written in pure Kotlin

Awesome Lists containing this project

README

        

# kottpd

Kottpd - REST framework written in pure Kotlin. It is available from maven central repository. It supports plain HTTP and secured HTTPs.
``` xml

com.github.gimlet2
kottpd
0.2.0

```

``` kotlin
val server = Server() // default port is 9000
server.staticFiles("/public") // specify path to static content folder
server.get("/hello", { req, res -> res.send("Hello") }) // use res.send to send data to response explicitly
server.get("/hello_simple", { req, res -> "Hello" }) // or just return some value and that will be sent to response automatically
server.get("/do/.*/smth", { req, res -> res.send("Hello world") }) // also you could bind handlers by regular expressions
server.post("/data", { req, res -> res.send(req.content, Status.Created) }) // send method accepts status
// Filters
server.before("/hello", { req, res -> res.send("before\n") })
server.before({ req, res -> res.send("ALL before\n") })
server.after("/hello", { req, res -> res.send("\nafter\n") })
server.after({ req, res -> res.send("ALL after\n") })
// exceptions handler
server.exception(IllegalStateException::class, { req, res -> "Illegal State" })
server.start(9443, true, "./keystore.jks", "password") // for secured conection
server.start()
```