@@ -2,7 +2,7 @@ package app
22
33import app .controller .DBController .*
44import app .controller .FortuneController .*
5- import app .controller .{ DBController , FortuneController }
5+ import app .controller .*
66import app .model .*
77import app .util .FortunesRender
88import cc .otavia .core .actor .ChannelsActor .{Bind , ChannelEstablished }
@@ -28,18 +28,20 @@ private class ServerMain(val port: Int = 8080) extends MainActor(Array.empty) {
2828
2929 override def main0 (stack : NoticeStack [MainActor .Args ]): StackYield = stack.state match
3030 case _ : StartState =>
31+ val messageResponseSerde = HttpResponseSerde .json(summon[JsonSerde [Message ]])
3132 val worldResponseSerde = HttpResponseSerde .json(summon[JsonSerde [World ]])
3233 val worldsResponseSerde = HttpResponseSerde .json(JsonSerde .derived[Seq [World ]])
3334 val fortunesResponseSerde = HttpResponseSerde (new FortunesRender (), MediaType .TEXT_HTML_UTF8 )
3435
3536 val dbController = autowire[DBController ]()
3637 val fortuneController = autowire[FortuneController ]()
38+ val jsonController = autowire[JsonController ]()
3739
3840 val routers = Seq (
3941 // Test 6: plaintext
4042 constant[Array [Byte ]](GET , " /plaintext" , " Hello, World!" .getBytes(UTF_8 ), BytesSerde , TEXT_PLAIN_UTF8 ),
4143 // Test 1: JSON serialization
42- constant[ Message ]( GET , " /json" , Message ( " Hello, World! " ), summon[ JsonSerde [ Message ]], APP_JSON ),
44+ get( " /json" , jsonController, () => JsonController . JsonRequest , messageResponseSerde ),
4345 // Test 2: Single database query.
4446 get(" /db" , dbController, () => new SingleQueryRequest (), worldResponseSerde),
4547 // Test 3: Multiple database queries
@@ -67,4 +69,5 @@ private class ServerMain(val port: Int = 8080) extends MainActor(Array.empty) {
6769 system.buildActor(() => new Connection (url, user, password), global = true , num = poolSize)
6870 system.buildActor(() => new DBController (), global = true , num = system.actorWorkerSize)
6971 system.buildActor(() => new FortuneController (), global = true , num = system.actorWorkerSize)
72+ system.buildActor(() => new JsonController (), global = true , num = system.actorWorkerSize)
7073 system.buildActor(() => new ServerMain ())
0 commit comments