forked from jooby-project/jooby
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathApp987.kt
More file actions
37 lines (32 loc) · 975 Bytes
/
Copy pathApp987.kt
File metadata and controls
37 lines (32 loc) · 975 Bytes
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
package issues
import com.typesafe.config.Config
import org.jooby.Err
import org.jooby.Kooby
data class LoginRequest(val username: String)
class App987 : Kooby({
/**
Authenticates a user, generating an Authorization token.
@param body contains the user's credentials.
@return contains the apiToken
*/
post("/api/login") { req ->
val params: LoginRequest
try {
params = req.body(LoginRequest::class.java)
} catch (e: Exception) {
throw Err(401, "Could not parse request: ${e.message}")
}
params.username
}
get("/use/config") {
val conf = require(Config::class.java)
val useName = conf.getBoolean("name")
val params: LoginRequest
try {
params = body(LoginRequest::class.java)
} catch (e: Exception) {
throw Err(401, "Could not parse request: ${e.message} ${useName}")
}
params.username
}
})