transformRequest method

  1. @override
Future<String> transformRequest(
  1. RequestOptions options
)
override

transformRequest allows changes to the request data before it is sent to the server, but after the RequestInterceptor.

This is only applicable for request methods 'PUT', 'POST', and 'PATCH'

Implementation

@override
Future<String> transformRequest(RequestOptions options) async {
  var data = options.data ?? '';
  if (data is! String) {
    if (Transformer.isJsonMimeType(options.contentType)) {
      return json.encode(options.data);
    } else if (data is Map) {
      options.contentType =
          options.contentType ?? Headers.formUrlEncodedContentType;
      return Transformer.urlEncodeMap(data);
    }
  }
  return data.toString();
}