@@ -82,23 +82,23 @@ func NewAccount(w http.ResponseWriter, r *http.Request) {
82
82
83
83
payload , err := payloadFromContext (ctx )
84
84
if err != nil {
85
- render .Error (w , err )
85
+ render .Error (w , r , err )
86
86
return
87
87
}
88
88
var nar NewAccountRequest
89
89
if err := json .Unmarshal (payload .value , & nar ); err != nil {
90
- render .Error (w , acme .WrapError (acme .ErrorMalformedType , err ,
90
+ render .Error (w , r , acme .WrapError (acme .ErrorMalformedType , err ,
91
91
"failed to unmarshal new-account request payload" ))
92
92
return
93
93
}
94
94
if err := nar .Validate (); err != nil {
95
- render .Error (w , err )
95
+ render .Error (w , r , err )
96
96
return
97
97
}
98
98
99
99
prov , err := acmeProvisionerFromContext (ctx )
100
100
if err != nil {
101
- render .Error (w , err )
101
+ render .Error (w , r , err )
102
102
return
103
103
}
104
104
@@ -108,26 +108,26 @@ func NewAccount(w http.ResponseWriter, r *http.Request) {
108
108
var acmeErr * acme.Error
109
109
if ! errors .As (err , & acmeErr ) || acmeErr .Status != http .StatusBadRequest {
110
110
// Something went wrong ...
111
- render .Error (w , err )
111
+ render .Error (w , r , err )
112
112
return
113
113
}
114
114
115
115
// Account does not exist //
116
116
if nar .OnlyReturnExisting {
117
- render .Error (w , acme .NewError (acme .ErrorAccountDoesNotExistType ,
117
+ render .Error (w , r , acme .NewError (acme .ErrorAccountDoesNotExistType ,
118
118
"account does not exist" ))
119
119
return
120
120
}
121
121
122
122
jwk , err := jwkFromContext (ctx )
123
123
if err != nil {
124
- render .Error (w , err )
124
+ render .Error (w , r , err )
125
125
return
126
126
}
127
127
128
128
eak , err := validateExternalAccountBinding (ctx , & nar )
129
129
if err != nil {
130
- render .Error (w , err )
130
+ render .Error (w , r , err )
131
131
return
132
132
}
133
133
@@ -140,17 +140,17 @@ func NewAccount(w http.ResponseWriter, r *http.Request) {
140
140
ProvisionerName : prov .Name ,
141
141
}
142
142
if err := db .CreateAccount (ctx , acc ); err != nil {
143
- render .Error (w , acme .WrapErrorISE (err , "error creating account" ))
143
+ render .Error (w , r , acme .WrapErrorISE (err , "error creating account" ))
144
144
return
145
145
}
146
146
147
147
if eak != nil { // means that we have a (valid) External Account Binding key that should be bound, updated and sent in the response
148
148
if err := eak .BindTo (acc ); err != nil {
149
- render .Error (w , err )
149
+ render .Error (w , r , err )
150
150
return
151
151
}
152
152
if err := db .UpdateExternalAccountKey (ctx , prov .ID , eak ); err != nil {
153
- render .Error (w , acme .WrapErrorISE (err , "error updating external account binding key" ))
153
+ render .Error (w , r , acme .WrapErrorISE (err , "error updating external account binding key" ))
154
154
return
155
155
}
156
156
acc .ExternalAccountBinding = nar .ExternalAccountBinding
@@ -163,7 +163,7 @@ func NewAccount(w http.ResponseWriter, r *http.Request) {
163
163
linker .LinkAccount (ctx , acc )
164
164
165
165
w .Header ().Set ("Location" , getAccountLocationPath (ctx , linker , acc .ID ))
166
- render .JSONStatus (w , acc , httpStatus )
166
+ render .JSONStatus (w , r , acc , httpStatus )
167
167
}
168
168
169
169
// GetOrUpdateAccount is the api for updating an ACME account.
@@ -174,12 +174,12 @@ func GetOrUpdateAccount(w http.ResponseWriter, r *http.Request) {
174
174
175
175
acc , err := accountFromContext (ctx )
176
176
if err != nil {
177
- render .Error (w , err )
177
+ render .Error (w , r , err )
178
178
return
179
179
}
180
180
payload , err := payloadFromContext (ctx )
181
181
if err != nil {
182
- render .Error (w , err )
182
+ render .Error (w , r , err )
183
183
return
184
184
}
185
185
@@ -188,12 +188,12 @@ func GetOrUpdateAccount(w http.ResponseWriter, r *http.Request) {
188
188
if ! payload .isPostAsGet {
189
189
var uar UpdateAccountRequest
190
190
if err := json .Unmarshal (payload .value , & uar ); err != nil {
191
- render .Error (w , acme .WrapError (acme .ErrorMalformedType , err ,
191
+ render .Error (w , r , acme .WrapError (acme .ErrorMalformedType , err ,
192
192
"failed to unmarshal new-account request payload" ))
193
193
return
194
194
}
195
195
if err := uar .Validate (); err != nil {
196
- render .Error (w , err )
196
+ render .Error (w , r , err )
197
197
return
198
198
}
199
199
if len (uar .Status ) > 0 || len (uar .Contact ) > 0 {
@@ -204,7 +204,7 @@ func GetOrUpdateAccount(w http.ResponseWriter, r *http.Request) {
204
204
}
205
205
206
206
if err := db .UpdateAccount (ctx , acc ); err != nil {
207
- render .Error (w , acme .WrapErrorISE (err , "error updating account" ))
207
+ render .Error (w , r , acme .WrapErrorISE (err , "error updating account" ))
208
208
return
209
209
}
210
210
}
@@ -213,7 +213,7 @@ func GetOrUpdateAccount(w http.ResponseWriter, r *http.Request) {
213
213
linker .LinkAccount (ctx , acc )
214
214
215
215
w .Header ().Set ("Location" , linker .GetLink (ctx , acme .AccountLinkType , acc .ID ))
216
- render .JSON (w , acc )
216
+ render .JSON (w , r , acc )
217
217
}
218
218
219
219
func logOrdersByAccount (w http.ResponseWriter , oids []string ) {
@@ -233,23 +233,23 @@ func GetOrdersByAccountID(w http.ResponseWriter, r *http.Request) {
233
233
234
234
acc , err := accountFromContext (ctx )
235
235
if err != nil {
236
- render .Error (w , err )
236
+ render .Error (w , r , err )
237
237
return
238
238
}
239
239
accID := chi .URLParam (r , "accID" )
240
240
if acc .ID != accID {
241
- render .Error (w , acme .NewError (acme .ErrorUnauthorizedType , "account ID '%s' does not match url param '%s'" , acc .ID , accID ))
241
+ render .Error (w , r , acme .NewError (acme .ErrorUnauthorizedType , "account ID '%s' does not match url param '%s'" , acc .ID , accID ))
242
242
return
243
243
}
244
244
245
245
orders , err := db .GetOrdersByAccountID (ctx , acc .ID )
246
246
if err != nil {
247
- render .Error (w , err )
247
+ render .Error (w , r , err )
248
248
return
249
249
}
250
250
251
251
linker .LinkOrdersByAccountID (ctx , orders )
252
252
253
- render .JSON (w , orders )
253
+ render .JSON (w , r , orders )
254
254
logOrdersByAccount (w , orders )
255
255
}
0 commit comments