@@ -9,6 +9,7 @@ import de.innfactory.smithy4play.{ContextRouteError, RoutingContext}
9
9
import play .api .Application
10
10
import de .innfactory .play .smithy4play .{AbstractBaseController , HttpHeaders }
11
11
import de .innfactory .play .smithy4play .ImplicitLogContext
12
+ import play .api .libs .json .{JsValue , Json }
12
13
13
14
import scala .concurrent .ExecutionContext
14
15
@@ -28,19 +29,20 @@ class BaseController(implicit ec: ExecutionContext, app: Application)
28
29
result
29
30
}
30
31
32
+ case class ErrorJson (message : String , additionalInfoErrorCode : Option [String ])
33
+
34
+ private val writes = Json .writes[ErrorJson ]
35
+
31
36
override def errorHandler (e : ResultStatus ): ContextRouteError =
32
37
e match {
33
38
case result : ErrorResult =>
34
39
new ContextRouteError {
35
40
override def message : String = result.message
36
- override def additionalInfoToLog : Option [String ] = result.additionalInfoToLog
37
- override def additionalInfoErrorCode : Option [String ] = result.additionalInfoErrorCode
38
41
override def statusCode : Int = result.statusCode
39
-
40
- override def additionalInformation : Option [String ] = None
42
+ override def toJson : JsValue = Json .toJson(ErrorJson (result.message, result.additionalInfoErrorCode))(writes)
41
43
}
42
44
}
43
45
44
46
override def createRequestContextFromRoutingContext (r : RoutingContext ): RequestContext =
45
- new RequestContext (HttpHeaders (r.map ))
47
+ new RequestContext (HttpHeaders (r.headers ))
46
48
}
0 commit comments