@@ -39,12 +39,13 @@ impl GitHubReleasesSource {
3939 let releases_url = format!( "{}/releases" , repo. url) ;
4040
4141 for await release in self . client. get_paginated( & releases_url, & policy. credentials, cancel) {
42- if let Err ( e) = release {
43- yield Err ( e) ;
44- continue ;
45- }
46-
47- let release: GitHubRelease = release. unwrap( ) ;
42+ let release: GitHubRelease = match release {
43+ Ok ( release) => release,
44+ Err ( e) => {
45+ yield Err ( e) ;
46+ continue ;
47+ }
48+ } ;
4849
4950 let mut entity = Release :: new(
5051 format!( "{}/{}" , & repo. full_name, & release. tag_name) ,
@@ -170,21 +171,27 @@ impl BackupSource<Release> for GitHubReleasesSource {
170171 policy : & ' a BackupPolicy ,
171172 cancel : & ' a AtomicBool ,
172173 ) -> impl Stream < Item = Result < Release , human_errors:: Error > > + ' a {
173- let target: GitHubRepoSourceKind = policy. from . as_str ( ) . parse ( ) . unwrap ( ) ;
174- let url = format ! (
175- "{}/{}?{}" ,
176- policy
177- . properties
178- . get( "api_url" )
179- . unwrap_or( & "https://api.github.com" . to_string( ) )
180- . trim_end_matches( '/' ) ,
181- target. api_endpoint( GitHubArtifactKind :: Release ) ,
182- policy. properties. get( "query" ) . unwrap_or( & "" . to_string( ) )
183- )
184- . trim_end_matches ( '?' )
185- . to_string ( ) ;
186-
187174 async_stream:: stream! {
175+ let target: GitHubRepoSourceKind = match policy. from. as_str( ) . parse( ) {
176+ Ok ( target) => target,
177+ Err ( e) => {
178+ yield Err ( e) ;
179+ return ;
180+ }
181+ } ;
182+ let url = format!(
183+ "{}/{}?{}" ,
184+ policy
185+ . properties
186+ . get( "api_url" )
187+ . unwrap_or( & "https://api.github.com" . to_string( ) )
188+ . trim_end_matches( '/' ) ,
189+ target. api_endpoint( GitHubArtifactKind :: Release ) ,
190+ policy. properties. get( "query" ) . unwrap_or( & "" . to_string( ) )
191+ )
192+ . trim_end_matches( '?' )
193+ . to_string( ) ;
194+
188195 if matches!( target, GitHubRepoSourceKind :: Repo ( _) ) {
189196 let repo: GitHubRepo = self . client. get( & url, & policy. credentials, cancel) . await ?;
190197
@@ -193,12 +200,13 @@ impl BackupSource<Release> for GitHubReleasesSource {
193200 }
194201 } else {
195202 for await repo in self . client. get_paginated( & url, & policy. credentials, cancel) {
196- if let Err ( e) = repo {
197- yield Err ( e) ;
198- continue ;
199- }
200-
201- let repo: GitHubRepo = repo. unwrap( ) ;
203+ let repo: GitHubRepo = match repo {
204+ Ok ( repo) => repo,
205+ Err ( e) => {
206+ yield Err ( e) ;
207+ continue ;
208+ }
209+ } ;
202210
203211 for await file in self . load_releases( policy, & repo, cancel) {
204212 yield file;
0 commit comments