post method

Future<Map> post(
  1. String? idToken,
  2. String endpoint,
  3. dynamic data
)

Implementation

Future<Map> post(String? idToken, String endpoint, data) async {
  try {
    //developer.log(idToken.toString());
    //developer.log(data.toString());
    if(idToken == null || idToken.trim() == '') throw 'AccessToken Null';
    final response = await http.post(
      Uri.parse('$apiUrl/$endpoint'),
      headers: { 'Authorization': 'Bearer $idToken', 'Content-Type': 'application/json' },
      body: jsonEncode(data),
    );
    if (response.statusCode == 200 || response.statusCode == 201) {
      Map responseBody = jsonDecode(response.body);
      return responseBody;
    } else {
      //developer.log('Response status: ${response.statusCode}');
      //developer.log('Response body: ${response.body}');
      throw 'Error post $apiUrl/$endpoint: ${response.body.toString()}';
    }
  } catch (error){
      return {'type': 'error', 'message' : '$error'};
  }
}