WorkshopFetcher _createWorkshopFetcher()

in lib/workshops.dart [328:351]


  WorkshopFetcher _createWorkshopFetcher() {
    final webServer = queryParams.webServer;
    if (webServer != null && webServer.isNotEmpty) {
      final uri = Uri.parse(webServer);
      return WebServerWorkshopFetcher(uri);
    }
    final ghOwner = queryParams.githubOwner;
    final ghRepo = queryParams.githubRepo;
    final ghRef = queryParams.githubRef;
    final ghPath = queryParams.githubPath;
    if (ghOwner != null &&
        ghOwner.isNotEmpty &&
        ghRepo != null &&
        ghRepo.isNotEmpty) {
      return GithubWorkshopFetcher(
        owner: ghOwner,
        repo: ghRepo,
        ref: ghRef,
        path: ghPath,
      );
    }
    throw ('Invalid parameters provided. Use either "webserver" or '
        '"gh_owner", "gh_repo", "gh_ref", and "gh_path"');
  }