@@ -69,35 +69,33 @@ func (dt *DigestTransport) RoundTrip(req *http.Request) (resp *http.Response, er
69
69
// Execute initialise the request and get a response
70
70
func (dr * DigestRequest ) Execute () (resp * http.Response , err error ) {
71
71
72
- if dr .Auth == nil {
73
- var req * http.Request
74
- if req , err = http .NewRequest (dr .Method , dr .Uri , bytes .NewReader ([]byte (dr .Body ))); err != nil {
75
- return nil , err
76
- }
77
-
78
- client := & http.Client {
79
- Timeout : 30 * time .Second ,
80
- }
81
- resp , err = client .Do (req )
82
-
83
- if err != nil {
84
- return nil , err
85
- }
86
- defer resp .Body .Close ()
87
-
88
- if resp .StatusCode == 401 {
89
- return dr .executeNewDigest (resp )
90
- }
91
- return
72
+ if dr .Auth != nil {
73
+ return dr .executeExistingDigest ()
92
74
}
93
75
94
- return dr .executeExistingDigest ()
76
+ var req * http.Request
77
+ if req , err = http .NewRequest (dr .Method , dr .Uri , bytes .NewReader ([]byte (dr .Body ))); err != nil {
78
+ return nil , err
79
+ }
80
+
81
+ client := & http.Client {
82
+ Timeout : 30 * time .Second ,
83
+ }
84
+ if resp , err = client .Do (req ); err != nil {
85
+ return nil , err
86
+ }
87
+ defer resp .Body .Close ()
88
+
89
+ if resp .StatusCode == 401 {
90
+ return dr .executeNewDigest (resp )
91
+ }
92
+
93
+ return resp , nil
95
94
}
96
95
97
- func (dr * DigestRequest ) executeNewDigest (resp * http.Response ) (* http.Response , error ) {
96
+ func (dr * DigestRequest ) executeNewDigest (resp * http.Response ) (resp2 * http.Response , err error ) {
98
97
var (
99
98
auth * authorization
100
- err error
101
99
wa * wwwAuthenticate
102
100
waString string
103
101
)
@@ -111,45 +109,42 @@ func (dr *DigestRequest) executeNewDigest(resp *http.Response) (*http.Response,
111
109
if auth , err = newAuthorization (dr ); err != nil {
112
110
return nil , err
113
111
}
114
- authString := auth .toString ()
115
112
116
- if resp , err = dr .executeRequest (authString ); err != nil {
113
+ if resp2 , err = dr .executeRequest (auth . toString () ); err != nil {
117
114
return nil , err
118
115
}
119
- defer resp .Body .Close ()
120
116
121
117
dr .Auth = auth
122
- return resp , nil
118
+ return resp2 , nil
123
119
}
124
120
125
- func (dr * DigestRequest ) executeExistingDigest () (* http.Response , error ) {
126
- var (
127
- auth * authorization
128
- err error
129
- )
121
+ func (dr * DigestRequest ) executeExistingDigest () (resp * http.Response , err error ) {
122
+ var auth * authorization
130
123
131
124
if auth , err = dr .Auth .refreshAuthorization (dr ); err != nil {
132
125
return nil , err
133
126
}
134
-
135
127
dr .Auth = auth
136
- authString := dr . Auth . toString ()
137
- return dr .executeRequest (authString )
128
+
129
+ return dr .executeRequest (dr . Auth . toString () )
138
130
}
139
131
140
- func (dr * DigestRequest ) executeRequest (authString string ) (* http.Response , error ) {
141
- var (
142
- err error
143
- req * http.Request
144
- )
132
+ func (dr * DigestRequest ) executeRequest (authString string ) (resp * http.Response , err error ) {
133
+ var req * http.Request
145
134
146
135
if req , err = http .NewRequest (dr .Method , dr .Uri , bytes .NewReader ([]byte (dr .Body ))); err != nil {
147
136
return nil , err
148
137
}
149
138
150
139
req .Header .Add ("Authorization" , authString )
140
+
151
141
client := & http.Client {
152
142
Timeout : 30 * time .Second ,
153
143
}
154
- return client .Do (req )
144
+ if resp , err = client .Do (req ); err != nil {
145
+ return nil , err
146
+ }
147
+ defer resp .Body .Close ()
148
+
149
+ return resp , nil
155
150
}
0 commit comments