postRequest function

Future<String?> postRequest(
  1. Uri url, {
  2. Object? body,
  3. Map<String, String> headers = const {},
  4. bool debug = false,
  5. ProxyAPIConfig? proxyAPIConfig,
})

POST request to fetch data from URL

Implementation

Future<String?> postRequest(
  Uri url, {
  Object? body,
  Map<String, String> headers = const {},
  bool debug = false,
  ProxyAPIConfig? proxyAPIConfig,
}) async {
  printLog("HTTP POST URL: $url", debug, color: LogColor.magenta);
  if (proxyAPIConfig != null) {
    printLog("Prepending proxy URL...", debug, color: LogColor.yellow);
    url = proxyAPIConfig.generateUrl(url);
  }

  printLog("HTTP Parser Headers: $headers", debug, color: LogColor.magenta);
  printLog("HTTP Parser Payload: $body", debug, color: LogColor.magenta);
  try {
    var html = await http
        .post(
          url,
          body: body,
          headers: headers,
        )
        .timeout(
          Duration(seconds: 30),
        );
    return utf8.decode(html.bodyBytes);
  } catch (e) {
    return null;
  }
}