Caller should check the ResponseExtra.HasError() first to see whether the request fails (#28796)

`resp != nil` doesn't mean the request really succeeded. Add a comment
for requestJSONResp to clarify the behavior.
pull/28787/head^2
wxiaoguang 10 months ago committed by GitHub
parent 637451a45e
commit b0e6c25535
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      modules/private/actions.go
  2. 2
      modules/private/key.go
  3. 2
      modules/private/mail.go
  4. 1
      modules/private/request.go

@ -22,7 +22,7 @@ func GenerateActionsRunnerToken(ctx context.Context, scope string) (string, Resp
}) })
resp, extra := requestJSONResp(req, &responseText{}) resp, extra := requestJSONResp(req, &responseText{})
if resp == nil { if extra.HasError() {
return "", extra return "", extra
} }
return resp.Text, extra return resp.Text, extra

@ -27,7 +27,7 @@ func AuthorizedPublicKeyByContent(ctx context.Context, content string) (string,
req := newInternalRequest(ctx, reqURL, "POST") req := newInternalRequest(ctx, reqURL, "POST")
req.Param("content", content) req.Param("content", content)
resp, extra := requestJSONResp(req, &responseText{}) resp, extra := requestJSONResp(req, &responseText{})
if resp == nil { if extra.HasError() {
return "", extra return "", extra
} }
return resp.Text, extra return resp.Text, extra

@ -30,7 +30,7 @@ func SendEmail(ctx context.Context, subject, message string, to []string) (strin
}) })
resp, extra := requestJSONResp(req, &responseText{}) resp, extra := requestJSONResp(req, &responseText{})
if resp == nil { if extra.HasError() {
return "", extra return "", extra
} }
return resp.Text, extra return resp.Text, extra

@ -47,6 +47,7 @@ func (re responseError) Error() string {
// requestJSONResp sends a request to the gitea server and then parses the response. // requestJSONResp sends a request to the gitea server and then parses the response.
// If the status code is not 2xx, or any error occurs, the ResponseExtra.Error field is guaranteed to be non-nil, // If the status code is not 2xx, or any error occurs, the ResponseExtra.Error field is guaranteed to be non-nil,
// and the ResponseExtra.UserMsg field will be set to a message for the end user. // and the ResponseExtra.UserMsg field will be set to a message for the end user.
// Caller should check the ResponseExtra.HasError() first to see whether the request fails.
// //
// * If the "res" is a struct pointer, the response will be parsed as JSON // * If the "res" is a struct pointer, the response will be parsed as JSON
// * If the "res" is responseText pointer, the response will be stored as text in it // * If the "res" is responseText pointer, the response will be stored as text in it

Loading…
Cancel
Save