put method Null safety

  1. @override
Future<Map<String, dynamic>> put(
  1. {String id = '',
  2. String partOfUrl = '',
  3. Map<String, dynamic>? data,
  4. String apiUserToken = ''}
)
override

Implementation

@override
Future<Map<String, dynamic>> put({
  String id = '',
  String partOfUrl = '',
  Map<String, dynamic>? data,
  String apiUserToken = '',
}) async {
  Dio _dio = dio;
  Map<String, dynamic> queryParameters = dio.options.queryParameters;

  if (apiUserToken.isNotEmpty) {
    if (queryParameters.containsKey("api_token")) {
      _dio = copyDio(dio.options);

      queryParameters.remove('api_token');
      queryParameters.addAll({
        'api_token': apiUserToken
      });
    }

    _dio.options.queryParameters = queryParameters;
  }

  var url = "$baseURI";
  if (partOfUrl.isNotEmpty) {
    url += '/$partOfUrl';
  }

  if (id.isNotEmpty) {
    url += "/$id";
  }

  var result = await _dio.put(
    "$url",
    data: data,
  );

  return result.data is String ? json.decode(result.data) : result.data;
}