send method

Sends an IsolateHttpRequest and returns the IsolateHttpResponse.

Implementation

Future<IsolateHttpResponse?> send(IsolateHttpRequest request) async {
  try {
    final _isolateRequest = IsolateFlutter.createAndStart(_call, request,
        debugLabel: _debugLabel);

    if (_timeout == null) {
      return await _isolateRequest;
    } else {
      return await _isolateRequest.timeout(_timeout!);
    }
  } on TimeoutException catch (e) {
    return IsolateHttpResponse(e.toString(), 408, request.headers ?? {});
  } on Exception catch (e) {
    return IsolateHttpResponse(e.toString(), 520, request.headers ?? {});
  }
}