get static method

Future<HttpResponse> get(
  1. String url, {
  2. Map<String, String>? headers,
  3. int? timeout = 60,
  4. bool refresh = false,
})

Implementation

static Future<HttpResponse> get(String url, {Map<String, String>? headers, int? timeout = 60, bool refresh = false}) async
{
  try
  {
    // convert url
    Uri? uri = encodeUri(url, refresh: refresh);
    if (uri != null)
    {
      // execute request
      Response response = await dart_http.get(uri, headers: encodeHeaders(headers)).timeout(Duration(seconds: (((timeout != null) && (timeout > 0)) ? timeout : defaultTimeout)));

      // decode headers
      decodeHeaders(response);

      // return response
      return HttpResponse.factory(url, response);
    }
    else {
      return HttpResponse(url, statusCode: HttpStatus.internalServerError, statusMessage: "Url $url is invalid");
    }
  }
  catch(e)
  {
    var msg = e.toString();

    // endpoint not found or unreachable
    if ((msg.toLowerCase().startsWith('xmlhttp'))) return HttpResponse(url, statusCode: HttpStatus.notFound, statusMessage: "Not Found: $msg");

    return HttpResponse(url, statusCode: HttpStatus.internalServerError, statusMessage: msg);
  }
}