send<Value> method

Future<Response<Value?>> send<Value>(
  1. Request request, {
  2. Type? responseType,
  3. bool responseIsList = false,
})

Used to send a request

Implementation

Future<Response<Value?>> send<Value>(Request request,
    {Type? responseType, bool responseIsList = false}) async {
  Request req = request;

  if (req.body != null) {
    req = await encodeRequest(request);
  }

  req = await interceptRequest(req);

  final stream = await httpClient.send(req.toHttpRequest(baseUrl));

  final response = await http.Response.fromStream(stream);

  Response res = new Response<String>(response, response.body);

  if (res.isSuccessful && responseType != null) {
    res = await decodeResponse<Value>(res as Response<String?>, responseType, responseIsList);
  }

  res = await interceptResponse(res);

  if (!res.isSuccessful) {
    throw res;
  }

  return res as FutureOr<Response<Value?>>;
}