@@ -482,16 +482,11 @@ func (r *Repository) ListTags(rbo *RepositoryTagOptions) (*RepositoryTags, error
482482 }
483483
484484 urlStr := r .c .requestUrl ("/repositories/%s/%s/refs/tags?%s" , rbo .Owner , rbo .RepoSlug , params .Encode ())
485- response , err := r .c .executeRaw ("GET" , urlStr , "" )
486- if err != nil {
487- return nil , err
488- }
489- bodyBytes , err := ioutil .ReadAll (response )
485+ response , err := r .c .executePaginated ("GET" , urlStr , "" )
490486 if err != nil {
491487 return nil , err
492488 }
493- bodyString := string (bodyBytes )
494- return decodeRepositoryTags (bodyString )
489+ return decodeRepositoryTags (response )
495490}
496491
497492func (r * Repository ) CreateTag (rbo * RepositoryTagCreationOptions ) (* RepositoryTag , error ) {
@@ -1202,19 +1197,13 @@ func decodeRepositoryTagCreated(tagResponseStr string) (*RepositoryTag, error) {
12021197 return & responseTagCreated , nil
12031198}
12041199
1205- func decodeRepositoryTags (tagResponseStr string ) (* RepositoryTags , error ) {
1206-
1207- var tagResponseMap map [string ]interface {}
1208- err := json .Unmarshal ([]byte (tagResponseStr ), & tagResponseMap )
1209- if err != nil {
1210- return nil , err
1211- }
1212-
1200+ func decodeRepositoryTags (tagResponse interface {}) (* RepositoryTags , error ) {
1201+ tagResponseMap := tagResponse .(map [string ]interface {})
12131202 tagArray := tagResponseMap ["values" ].([]interface {})
12141203 var tags []RepositoryTag
12151204 for _ , tagEntry := range tagArray {
12161205 var tag RepositoryTag
1217- err = mapstructure .Decode (tagEntry , & tag )
1206+ err : = mapstructure .Decode (tagEntry , & tag )
12181207 if err == nil {
12191208 tags = append (tags , tag )
12201209 }
0 commit comments