validateHeaders method

void validateHeaders()

Throws a 500 AngelHttpException naming any of headers that cannot be sent, after removing them so that the error response can be.

Called before headers are sent, so an invalid header set by the app fails the same clear way on every transport.

Implementation

void validateHeaders() {
  var invalid = [
    for (var name in headers.keys)
      if (!isValidHeaderName(name) || !isValidHeaderValue(headers[name]!))
        name,
  ];
  if (invalid.isEmpty) return;
  invalid.forEach(headers.remove);
  throw AngelHttpException(
    message:
        'Invalid response header ${invalid.map((n) => '"$n"').join(', ')}: '
        'names must be tokens and values visible ASCII.',
  );
}