send method
Implementation
Future<Response> send(Request request, {RequestOptions? options}) async {
final resolvedOptions = _resolveOptions(options);
final signal = resolvedOptions.signal;
if (signal?.aborted ?? false) {
throw OxyCancelledException(reason: signal?.reason);
}
final resolvedRequest = _prepareRequest(request, resolvedOptions);
final response = await _sendWithRetry(resolvedRequest, resolvedOptions);
if (resolvedOptions.redirectPolicy == RedirectPolicy.error &&
response.redirected) {
throw OxyHttpException(
response,
message: 'Redirect blocked by RedirectPolicy.error',
);
}
if (resolvedOptions.httpErrorPolicy == HttpErrorPolicy.throwException &&
!response.ok) {
throw OxyHttpException(response);
}
return response;
}