post method

Future post({
  1. required String url,
  2. required Map<String, dynamic> body,
  3. String? header,
  4. String? token,
})

Implementation

Future<dynamic> post({
  required String url,
  required Map<String, dynamic> body,
  String? header,
  String? token,
}) async {
  Map<String, String> headers = {'Content-Type': 'application/json'};
  if (header != null) {
    headers.addAll({'x-api-key': header});
  }
  if (token != null) {
    headers.addAll({'Authorization': 'Bearer $token'});
  }
  http.Response response = await http.post(
    Uri.parse(url),
    body: jsonEncode(body),
    headers: headers,
  );
  if (response.statusCode >= 200 && response.statusCode < 300) {
    Map<String, dynamic> data = jsonDecode(response.body);
    return data;
  } else {
    throw Exception(
      "Error: ${response.statusCode}, Response: ${response.body}",
    );
  }
}