@@ -54,6 +54,7 @@ type GitHub interface {
54
54
55
55
type HttpClient interface {
56
56
Get (url string ) (* http.Response , error )
57
+ GetWithToken (url string , token string ) (* http.Response , error )
57
58
}
58
59
59
60
type Git interface {
@@ -77,6 +78,13 @@ func (c *DefaultHttpClient) Get(url string) (resp *http.Response, err error) {
77
78
return http .Get (url )
78
79
}
79
80
81
+ func (c * DefaultHttpClient ) GetWithToken (url string , token string ) (resp * http.Response , err error ) {
82
+ req , _ := http .NewRequest ("GET" , url , nil )
83
+ req .Header .Add ("Authorization" , fmt .Sprintf ("token %s" , token ))
84
+ client := & http.Client {}
85
+ return client .Do (req )
86
+ }
87
+
80
88
type Releaser struct {
81
89
config * config.Options
82
90
github GitHub
@@ -108,10 +116,19 @@ func (r *Releaser) UpdateIndexFile() (bool, error) {
108
116
}
109
117
110
118
var indexFile * repo.IndexFile
119
+ var resp * http.Response
120
+ var err error
111
121
112
- resp , err := r .httpClient .Get (fmt .Sprintf ("%s/index.yaml" , r .config .ChartsRepo ))
113
- if err != nil {
114
- return false , err
122
+ if r .config .Token != "" {
123
+ resp , err = r .httpClient .GetWithToken (fmt .Sprintf ("%s/index.yaml" , r .config .ChartsRepo ), r .config .Token )
124
+ if err != nil {
125
+ return false , err
126
+ }
127
+ } else {
128
+ resp , err = r .httpClient .Get (fmt .Sprintf ("%s/index.yaml" , r .config .ChartsRepo ))
129
+ if err != nil {
130
+ return false , err
131
+ }
115
132
}
116
133
117
134
defer resp .Body .Close ()
0 commit comments