Fix panic that can occur from nil pointer exception in media API fetchRemoteFile

This commit is contained in:
Neil Alexander 2022-03-18 16:21:15 +00:00
parent c54d88aecf
commit e47dfe4786
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944

View file

@ -722,8 +722,8 @@ func (r *downloadRequest) fetchRemoteFile(
// create request for remote file // create request for remote file
resp, err := client.CreateMediaDownloadRequest(ctx, r.MediaMetadata.Origin, string(r.MediaMetadata.MediaID)) resp, err := client.CreateMediaDownloadRequest(ctx, r.MediaMetadata.Origin, string(r.MediaMetadata.MediaID))
if err != nil || resp.StatusCode != http.StatusOK { if err != nil || (resp != nil && resp.StatusCode != http.StatusOK) {
if resp.StatusCode == http.StatusNotFound { if resp != nil && resp.StatusCode == http.StatusNotFound {
return "", false, fmt.Errorf("File with media ID %q does not exist on %s", r.MediaMetadata.MediaID, r.MediaMetadata.Origin) return "", false, fmt.Errorf("File with media ID %q does not exist on %s", r.MediaMetadata.MediaID, r.MediaMetadata.Origin)
} }
return "", false, fmt.Errorf("file with media ID %q could not be downloaded from %s", r.MediaMetadata.MediaID, r.MediaMetadata.Origin) return "", false, fmt.Errorf("file with media ID %q could not be downloaded from %s", r.MediaMetadata.MediaID, r.MediaMetadata.Origin)