У меня есть следующий метод:
private def initiateAuth(req: LoginRequest, userAgent: String, deviceId: String) = {
extractClientIP { clientIp =>
extractRequestContext { implicit ctx =>
if (clientIp.toOption.isEmpty) reject(Rejections.validationRejection("abc"))
val xForwardedFor = clientIp.toOption.map(_.getHostAddress).get
mapToResponse(userAuthenticator.auth(req.username, req.password, deviceId, xForwardedFor, userAgent))
}
}
}
Что действительно странно, так это Rejections.validationRejection("abc")
работает, но когда я использую Rejections.missingHeader("abc")
, я получаю ошибку:
Чем они отличаются?Я в замешательстве, потому что MissingHeaderRejection реализует отклонение, так почему несоответствие типов?