asResponse function
value as a DoxResponse. An http exception becomes its JSON body
with its status, so a middleware can still change the status.
Implementation
DoxResponse asResponse(dynamic value) {
if (value is DoxResponse) return value;
if (value is IHttpException) {
DoxResponse res = DoxResponse(value.toResponse()).statusCode(value.code);
/// keep the headers of `abort(503, msg, {'retry-after': '60'})`
if (value is HttpStatusException) value.headers.forEach(res.header);
return res;
}
return DoxResponse(value);
}