defaultTransformRequest static method

FutureOr<String> defaultTransformRequest(
  1. RequestOptions options,
  2. JsonEncodeCallback jsonEncodeCallback
)

Implementation

static FutureOr<String> defaultTransformRequest(
  RequestOptions options,
  JsonEncodeCallback jsonEncodeCallback,
) {
  final Object data = options.data ?? '';
  if (data is! String && Transformer.isJsonMimeType(options.contentType)) {
    return jsonEncodeCallback(data);
  } else if (data is Map) {
    if (data is Map<String, dynamic>) {
      return Transformer.urlEncodeMap(data, options.listFormat);
    }
    warningLog(
      'The data is a type of `Map` (${data.runtimeType}), '
      'but the transformer can only encode `Map<String, dynamic>`.\n'
      'If you are writing maps using `{}`, '
      'consider writing `<String, dynamic>{}`.',
      StackTrace.current,
    );
    return data.toString();
  } else {
    return data.toString();
  }
}