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);
  }
}