blob: 3677203956a5405927243827f47be6f28913963f (
plain) (
blame)
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
|
package test.cask
import cask.model.ParamContext
object Decorated extends cask.MainRoutes{
class User{
override def toString = "[haoyi]"
}
class loggedIn extends cask.Routes.Decorator {
def getRawParams(ctx: ParamContext) = Right(Map("user" -> new User()))
}
class withExtra extends cask.Routes.Decorator {
def getRawParams(ctx: ParamContext) = Right(Map("extra" -> 31337))
}
@withExtra()
@cask.get("/hello/:world")
def hello(world: String)(extra: Int) = {
world + extra
}
@loggedIn()
@cask.get("/internal/:world")
def internal(world: String)(user: User) = {
world + user
}
@withExtra()
@loggedIn()
@cask.get("/internal-extra/:world")
def internalExtra(world: String)(user: User)(extra: Int) = {
world + user + extra
}
initialize()
}
|