@@ -32,7 +32,7 @@ object Route:
3232 * An included router
3333 */
3434class Include (val router : Router ):
35- def unapply (request : RequestHeader ): Option [EssentialAction ] =
35+ def unapply (request : RequestHeader ): Option [Handler ] =
3636 router.routes.lift(request)
3737
3838/**
@@ -76,28 +76,27 @@ abstract class GeneratedRouter extends Router {
7676 errorHandler.onClientError(request, play.api.http.Status .BAD_REQUEST , error)
7777 }
7878
79- def named (name : String )(generator : => EssentialAction ): EssentialAction =
80- EssentialAction : (request : RequestHeader ) =>
81- generator(request.addAttr(play.api.routing.Router .Attrs .ActionName , name))
79+ def named (name : String )(generator : => Handler ) =
80+ Handler .Stage .modifyRequest(_.addAttr(play.api.routing.Router .Attrs .ActionName , name), generator)
8281
83- def call (generator : => EssentialAction ): EssentialAction =
82+ def call (generator : => Handler ): Handler =
8483 generator
8584
86- def call [P ](pa : Param [P ])(generator : (P ) => EssentialAction ): EssentialAction =
85+ def call [P ](pa : Param [P ])(generator : (P ) => Handler ): Handler =
8786 pa.value.fold(badRequest, generator)
8887
8988 // Keep the old versions for avoiding compiler failures while building for Scala 2.10,
9089 // and for avoiding warnings when building for newer Scala versions
9190 // format: off
92- def call [A1 , A2 ](pa1 : Param [A1 ], pa2 : Param [A2 ])(generator : Function2 [A1 , A2 , EssentialAction ]): EssentialAction = {
91+ def call [A1 , A2 ](pa1 : Param [A1 ], pa2 : Param [A2 ])(generator : Function2 [A1 , A2 , Handler ]): Handler = {
9392 (for
9493a1 <- pa1.value
9594 a2 <- pa2.value
9695 yield (a1, a2))
9796 .fold(badRequest, { case (a1, a2) => generator(a1, a2) })
9897 }
9998
100- def call [A1 , A2 , A3 ](pa1 : Param [A1 ], pa2 : Param [A2 ], pa3 : Param [A3 ])(generator : Function3 [A1 , A2 , A3 , EssentialAction ]): EssentialAction = {
99+ def call [A1 , A2 , A3 ](pa1 : Param [A1 ], pa2 : Param [A2 ], pa3 : Param [A3 ])(generator : Function3 [A1 , A2 , A3 , Handler ]): Handler = {
101100 (for
102101a1 <- pa1.value
103102 a2 <- pa2.value
@@ -106,7 +105,7 @@ a1 <- pa1.value
106105 .fold(badRequest, { case (a1, a2, a3) => generator(a1, a2, a3) })
107106 }
108107
109- def call [A1 , A2 , A3 , A4 ](pa1 : Param [A1 ], pa2 : Param [A2 ], pa3 : Param [A3 ], pa4 : Param [A4 ])(generator : Function4 [A1 , A2 , A3 , A4 , EssentialAction ]): EssentialAction = {
108+ def call [A1 , A2 , A3 , A4 ](pa1 : Param [A1 ], pa2 : Param [A2 ], pa3 : Param [A3 ], pa4 : Param [A4 ])(generator : Function4 [A1 , A2 , A3 , A4 , Handler ]): Handler = {
110109 (for
111110a1 <- pa1.value
112111 a2 <- pa2.value
@@ -116,7 +115,7 @@ a1 <- pa1.value
116115 .fold(badRequest, { case (a1, a2, a3, a4) => generator(a1, a2, a3, a4) })
117116 }
118117
119- def call [A1 , A2 , A3 , A4 , A5 ](pa1 : Param [A1 ], pa2 : Param [A2 ], pa3 : Param [A3 ], pa4 : Param [A4 ], pa5 : Param [A5 ])(generator : Function5 [A1 , A2 , A3 , A4 , A5 , EssentialAction ]): EssentialAction = {
118+ def call [A1 , A2 , A3 , A4 , A5 ](pa1 : Param [A1 ], pa2 : Param [A2 ], pa3 : Param [A3 ], pa4 : Param [A4 ], pa5 : Param [A5 ])(generator : Function5 [A1 , A2 , A3 , A4 , A5 , Handler ]): Handler = {
120119 (for
121120a1 <- pa1.value
122121 a2 <- pa2.value
@@ -127,7 +126,7 @@ a1 <- pa1.value
127126 .fold(badRequest, { case (a1, a2, a3, a4, a5) => generator(a1, a2, a3, a4, a5) })
128127 }
129128
130- def call [A1 , A2 , A3 , A4 , A5 , A6 ](pa1 : Param [A1 ], pa2 : Param [A2 ], pa3 : Param [A3 ], pa4 : Param [A4 ], pa5 : Param [A5 ], pa6 : Param [A6 ])(generator : Function6 [A1 , A2 , A3 , A4 , A5 , A6 , EssentialAction ]): EssentialAction = {
129+ def call [A1 , A2 , A3 , A4 , A5 , A6 ](pa1 : Param [A1 ], pa2 : Param [A2 ], pa3 : Param [A3 ], pa4 : Param [A4 ], pa5 : Param [A5 ], pa6 : Param [A6 ])(generator : Function6 [A1 , A2 , A3 , A4 , A5 , A6 , Handler ]): Handler = {
131130 (for
132131a1 <- pa1.value
133132 a2 <- pa2.value
@@ -139,9 +138,35 @@ a1 <- pa1.value
139138 .fold(badRequest, { case (a1, a2, a3, a4, a5, a6) => generator(a1, a2, a3, a4, a5, a6) })
140139 }
141140
141+ def call [A1 , A2 , A3 , A4 , A5 , A6 , A7 ](pa1 : Param [A1 ], pa2 : Param [A2 ], pa3 : Param [A3 ], pa4 : Param [A4 ], pa5 : Param [A5 ], pa6 : Param [A6 ], pa7 : Param [A7 ])(generator : Function7 [A1 , A2 , A3 , A4 , A5 , A6 , A7 , Handler ]): Handler = {
142+ (for
143+ a1 <- pa1.value
144+ a2 <- pa2.value
145+ a3 <- pa3.value
146+ a4 <- pa4.value
147+ a5 <- pa5.value
148+ a6 <- pa6.value
149+ a7 <- pa7.value
150+ yield (a1, a2, a3, a4, a5, a6, a7))
151+ .fold(badRequest, { case (a1, a2, a3, a4, a5, a6, a7) => generator(a1, a2, a3, a4, a5, a6, a7) })
152+ }
153+
154+ def call [A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 ](pa1 : Param [A1 ], pa2 : Param [A2 ], pa3 : Param [A3 ], pa4 : Param [A4 ], pa5 : Param [A5 ], pa6 : Param [A6 ], pa7 : Param [A7 ], pa8 : Param [A8 ])(generator : Function8 [A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , Handler ]): Handler = {
155+ (for
156+ a1 <- pa1.value
157+ a2 <- pa2.value
158+ a3 <- pa3.value
159+ a4 <- pa4.value
160+ a5 <- pa5.value
161+ a6 <- pa6.value
162+ a7 <- pa7.value
163+ a8 <- pa8.value
164+ yield (a1, a2, a3, a4, a5, a6, a7, a8))
165+ .fold(badRequest, { case (a1, a2, a3, a4, a5, a6, a7, a8) => generator(a1, a2, a3, a4, a5, a6, a7, a8) })
166+ }
142167 // format: on
143168
144- def call [T ](params : List [Param [? ]])(generator : (Seq [? ]) => EssentialAction ): EssentialAction =
169+ def call [T ](params : List [Param [? ]])(generator : (Seq [? ]) => Handler ): Handler =
145170 (params
146171 .foldLeft[Either [String , Seq [? ]]](Right (Seq [T ]())) { (seq, param) =>
147172 seq.flatMap(s => param.value.map(s :+ _))
0 commit comments