postRequest static method

dynamic postRequest({
  1. required Uri url,
  2. Map<String, String>? headers,
  3. required dynamic body,
})

Http post request

Implementation

static postRequest(
    {required Uri url,
    Map<String, String>? headers,
    required dynamic body}) async {
  try {
    debugPrint('requesting post : $url');
    if (_client != null) {
      return await _client!
          .post(url, headers: headers, body: json.encode(body));
    } else {
      return await http.post(url, headers: headers, body: json.encode(body));
    }
  } on PlatformException {
    return Failure(ErrorResponse(
        errorHandelerFlutterEnum:
            ErrorHandelerFlutterEnum.platformExceptionError,
        errorResponseHolder: ErrorResponseHolder(
            defaultMessage: 'Platform Exception Caught')));
  } on SocketException catch (e) {
    return Failure(ErrorResponse(
        errorHandelerFlutterEnum:
            ErrorHandelerFlutterEnum.socketExceptionError,
        errorResponseHolder:
            ErrorResponseHolder(defaultMessage: 'Socket Exception:$e')));
  } on FormatException {
    return Failure(ErrorResponse(
        errorHandelerFlutterEnum:
            ErrorHandelerFlutterEnum.formatExceptionError,
        errorResponseHolder:
            ErrorResponseHolder(defaultMessage: 'format exception Error')));
  } catch (e) {
    return Failure(ErrorResponse(
        errorHandelerFlutterEnum: ErrorHandelerFlutterEnum.undefined,
        errorResponseHolder: ErrorResponseHolder(
            defaultMessage: 'something went Wrong : $e')));
  }
}