checkJwtInHeaders method
FutureOr<PassedHttpEntity>
checkJwtInHeaders(
)
override
Implementation
@override
FutureOr<PassedHttpEntity> checkJwtInHeaders(
RequestHolder request,
ResponseHolder response,
Map<String, dynamic> pathArgs,
) {
return _wrapper(request, response, pathArgs, () async {
var headers = request.headers;
var jwt = headers.value(HeaderFields.authorization);
if (jwt == null) {
throw NoAuthHeaderException();
}
jwt = jwt
..toString()
..replaceAll(' ', ' ')
..trim();
var parts = jwt.split(' ');
int length = parts.length;
String bearer = parts.first;
String jwtString = parts.last;
if (length != 2) {
throw AuthHeaderNotValidException();
}
if (bearer != HeaderFields.bearer) {
throw AuthHeaderNotValidException();
}
if (jwtString.isEmpty) {
throw ProvidedJwtNotValid(1);
}
request.context[ContextFields.jwt] = jwtString;
return request;
});
}