requestValidator top-level property

Middleware requestValidator
final

Implementation

final requestValidator = middleware(onRequest: (Request request) async {
  final contentType = request.headers['Content-Type']?.last;
  if (contentType != null && _isInvalid(MediaType.parse(contentType))) {
    throw UnsupportedMediaType();
  }
  if ((request.headers['Accept'] ?? [])
      .expand((it) => it.split(','))
      .map((it) => it.trim())
      .map(MediaType.parse)
      .any(_isInvalid)) {
    throw NotAcceptable();
  }
  return null;
});