1
0
Fork 0
forked from forgejo/forgejo

Return responseText instead of string in some functions (#28836)

Follow
https://github.com/go-gitea/gitea/pull/28796#issuecomment-1891727591
This commit is contained in:
yp05327 2024-01-19 11:45:23 +09:00 committed by GitHub
parent 4674aea25b
commit b60a7c3358
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 18 additions and 30 deletions

View file

@ -12,8 +12,8 @@ import (
"code.gitea.io/gitea/modules/json"
)
// responseText is used to get the response as text, instead of parsing it as JSON.
type responseText struct {
// ResponseText is used to get the response as text, instead of parsing it as JSON.
type ResponseText struct {
Text string
}
@ -50,7 +50,7 @@ func (re responseError) Error() string {
// 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 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
// * If the "res" is responseCallback pointer, the callback function should set the ResponseExtra fields accordingly
func requestJSONResp[T any](req *httplib.Request, res *T) (ret *T, extra ResponseExtra) {
resp, err := req.Response()
@ -81,7 +81,7 @@ func requestJSONResp[T any](req *httplib.Request, res *T) (ret *T, extra Respons
// now, the StatusCode must be 2xx
var v any = res
if respText, ok := v.(*responseText); ok {
if respText, ok := v.(*ResponseText); ok {
// get the whole response as a text string
bs, err := io.ReadAll(resp.Body)
if err != nil {
@ -119,7 +119,7 @@ func requestJSONResp[T any](req *httplib.Request, res *T) (ret *T, extra Respons
// requestJSONClientMsg sends a request to the gitea server, server only responds text message status=200 with "success" body
// If the request succeeds (200), the argument clientSuccessMsg will be used as ResponseExtra.UserMsg.
func requestJSONClientMsg(req *httplib.Request, clientSuccessMsg string) ResponseExtra {
_, extra := requestJSONResp(req, &responseText{})
_, extra := requestJSONResp(req, &ResponseText{})
if extra.HasError() {
return extra
}