ecodeResponse static method

Object? ecodeResponse({
  1. required Object? body,
  2. required ServiceReponseEncoding encoding,
})

Parses a response string into a result of type T.

Implementation

static Object? ecodeResponse({
  required Object? body,
  required ServiceReponseEncoding encoding,
}) {
  switch (body) {
    case List<int> bytes:
      return encodeBytesResponse(bytes: bytes, encoding: encoding);
    case String body:
      return ecodeStringResponse(body: body, encoding: encoding);
    default:
      switch (encoding) {
        case ServiceReponseEncoding.binary:
          return JsonParser.valueAsBytes<List<int>?>(body, allowJson: true);
        case ServiceReponseEncoding.string:
          return JsonParser.valueAsString<String?>(body, allowJson: true);
        case ServiceReponseEncoding.map:
          return JsonParser.valueAsMap<Map<String, dynamic>?>(body);
        case ServiceReponseEncoding.listOfMap:
          return JsonParser.valueAsList<List<Map<String, dynamic>>?>(body);
        case ServiceReponseEncoding.json:
          return body;
      }
  }
}