getChaptersResponse function Null safety

Future<Response> getChaptersResponse(
  1. String mangaId,
  2. {List<String>? ids,
  3. String? title,
  4. List<String>? groups,
  5. String? uploader,
  6. String? volume,
  7. String? chapter,
  8. List<LanguageCodes>? translatedLanguage,
  9. List<LanguageCodes>? originalLanguage,
  10. List<LanguageCodes>? excludedOriginalLanguage,
  11. List<ContentRating>? contentRating,
  12. String? createdAtSince,
  13. String? updatedAtSince,
  14. String? publishedAtSince,
  15. String? includes,
  16. int? limit,
  17. int? offset}
)

Returns the http response of a list of chapters for mangaId

Implementation

Future<http.Response> getChaptersResponse(String mangaId,
    {List<String>? ids,
    String? title,
    List<String>? groups,
    String? uploader,
    String? volume,
    String? chapter,
    List<LanguageCodes>? translatedLanguage,
    List<LanguageCodes>? originalLanguage,
    List<LanguageCodes>? excludedOriginalLanguage,
    List<ContentRating>? contentRating,
    String? createdAtSince,
    String? updatedAtSince,
    String? publishedAtSince,
    String? includes,
    int? limit,
    int? offset}) async {
  var unencodedPath = '/chapter';
  var MangaId = mangaId;
  var Limit = limit != null ? '&limit=$limit' : '&limit=10';
  var Offset = offset != null ? '&offset=$offset' : '&offset=0';
  var Ids = '';
  if (ids != null) {
    ids.forEach((element) {
      Ids = Ids + '&ids[]=$element';
    });
  }
  var Title = title != null ? '&title=$title' : '';
  var Groups = '';
  if (groups != null) {
    groups.forEach((element) {
      Groups = Groups + '&groups[]=$element';
    });
  }
  var Uploader = uploader != null ? '&uploader=$uploader' : '';
  var Volume = volume != null ? '&volume=$volume' : '';
  var Chapter = chapter != null ? '&chapter=$chapter' : '';

  var TranslatedLanguage = '';
  if (translatedLanguage != null) {
    translatedLanguage.forEach((element) {
      TranslatedLanguage = TranslatedLanguage +
          '&translatedLanguage[]=${EnumUtils.parseLanguageCodeFromEnum(element)}';
    });
  }
  var OriginalLanguage = '';
  if (originalLanguage != null) {
    originalLanguage.forEach((element) {
      OriginalLanguage = OriginalLanguage +
          '&originalLanguage[]=${EnumUtils.parseLanguageCodeFromEnum(element)}';
    });
  }
  var ExcludedOriginalLanguage = '';
  if (excludedOriginalLanguage != null) {
    excludedOriginalLanguage.forEach((element) {
      ExcludedOriginalLanguage = ExcludedOriginalLanguage +
          '&excludedOriginalLanguage[]=${EnumUtils.parseLanguageCodeFromEnum(element)}';
    });
  }
  var Contentrating = '';
  if (contentRating != null) {
    contentRating.forEach((element) {
      Contentrating = Contentrating +
          '&contentRating[]=${EnumUtils.parseContentRatingFromEnum(element)}';
    });
  }

  var CreatedAtSince =
      createdAtSince != null ? '&createdAtSince=$createdAtSince' : '';
  var UpdatedAtSince =
      updatedAtSince != null ? '&updatedAtSince=$updatedAtSince' : '';
  var PublishedAtSince =
      publishedAtSince != null ? '&publishedAtSince=$publishedAtSince' : '';
  var Includes = includes != null ? '&includes[]=$includes' : '';

  final url =
      'https://$authority$unencodedPath?&manga=$MangaId$Limit$Offset$Ids$Title$Groups$Uploader$Volume$Chapter$TranslatedLanguage$CreatedAtSince$UpdatedAtSince$PublishedAtSince$Includes';
  print('url');
  var response = await http.get(Uri.parse(url),
      headers: {HttpHeaders.contentTypeHeader: 'application/json'});
  return response;
}