getReadme method

Future<GitHubFile> getReadme(
  1. RepositorySlug slug, {
  2. String? ref,
})

Fetches the readme file for a repository.

The name of the commit/branch/tag may be specified with ref. If no ref is defined, the repository's default branch is used (usually master).

API docs: https://developer.github.com/v3/repos/contents/#get-the-readme

Implementation

Future<GitHubFile> getReadme(RepositorySlug slug, {String? ref}) async {
  ArgumentError.checkNotNull(slug);
  final headers = <String, String>{};

  var url = '/repos/${slug.fullName}/readme';

  if (ref != null) {
    url += '?ref=$ref';
  }

  return github.getJSON(url, headers: headers, statusCode: StatusCodes.OK,
      fail: (http.Response response) {
    if (response.statusCode == StatusCodes.NOT_FOUND) {
      throw NotFound(github, response.body);
    }
  }, convert: (Map<String, dynamic> input) {
    var file = GitHubFile.fromJson(input);
    file.sourceRepository = slug;
    return file;
  });
}