Skip to content

Commit d5eb79b

Browse files
committed
Check permissions before deserialization
1 parent 120f7e6 commit d5eb79b

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

router/src/main/kotlin/io/moia/router/RequestHandler.kt

+6-6
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,12 @@ abstract class RequestHandler : RequestHandler<APIGatewayProxyRequestEvent, APIG
4646

4747
val response =
4848
try {
49-
val requestBody = deserializeRequest(handler, input)
50-
val request = Request(input, requestBody, routerFunction.requestPredicate.pathPattern)
51-
when {
52-
missingPermissions(input, routerFunction) ->
53-
ResponseEntity(403, ApiError("missing permissions", "MISSING_PERMISSIONS"))
54-
else -> (handler as HandlerFunction<*, *>)(request)
49+
if (missingPermissions(input, routerFunction)) {
50+
ResponseEntity(403, ApiError("missing permissions", "MISSING_PERMISSIONS"))
51+
} else {
52+
val requestBody = deserializeRequest(handler, input)
53+
val request = Request(input, requestBody, routerFunction.requestPredicate.pathPattern)
54+
(handler as HandlerFunction<*, *>)(request)
5555
}
5656
} catch (e: Exception) {
5757
exceptionToResponseEntity(e, input)

0 commit comments

Comments
 (0)