mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-30 18:36:22 +01:00 
			
		
		
		
	Add an abstract json layout to make it's easier to change json library (#16528)
* Add an abstract json layout to make it's easier to change json library * Fix import * Fix import sequence * Fix blank lines * Fix blank lines
This commit is contained in:
		| @@ -20,7 +20,7 @@ import ( | |||||||
| 	"strings" | 	"strings" | ||||||
| 	"unicode/utf8" | 	"unicode/utf8" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| const ( | const ( | ||||||
| @@ -51,7 +51,6 @@ func (e Emoji) MarshalJSON() ([]byte, error) { | |||||||
| 	x.UnicodeVersion = "" | 	x.UnicodeVersion = "" | ||||||
| 	x.Description = "" | 	x.Description = "" | ||||||
| 	x.SkinTones = false | 	x.SkinTones = false | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.Marshal(x) | 	return json.Marshal(x) | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -103,7 +102,6 @@ func generate() ([]byte, error) { | |||||||
|  |  | ||||||
| 	// unmarshal | 	// unmarshal | ||||||
| 	var data Gemoji | 	var data Gemoji | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	err = json.Unmarshal(body, &data) | 	err = json.Unmarshal(body, &data) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
|   | |||||||
| @@ -15,13 +15,13 @@ import ( | |||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	"code.gitea.io/gitea/modules/storage" | 	"code.gitea.io/gitea/modules/storage" | ||||||
| 	"code.gitea.io/gitea/modules/util" | 	"code.gitea.io/gitea/modules/util" | ||||||
|  |  | ||||||
| 	"gitea.com/go-chi/session" | 	"gitea.com/go-chi/session" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	archiver "github.com/mholt/archiver/v3" | 	archiver "github.com/mholt/archiver/v3" | ||||||
| 	"github.com/urfave/cli" | 	"github.com/urfave/cli" | ||||||
| ) | ) | ||||||
| @@ -306,7 +306,6 @@ func runDump(ctx *cli.Context) error { | |||||||
| 		var excludes []string | 		var excludes []string | ||||||
| 		if setting.Cfg.Section("session").Key("PROVIDER").Value() == "file" { | 		if setting.Cfg.Section("session").Key("PROVIDER").Value() == "file" { | ||||||
| 			var opts session.Options | 			var opts session.Options | ||||||
| 			json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 			if err = json.Unmarshal([]byte(setting.SessionConfig.ProviderConfig), &opts); err != nil { | 			if err = json.Unmarshal([]byte(setting.SessionConfig.ProviderConfig), &opts); err != nil { | ||||||
| 				return err | 				return err | ||||||
| 			} | 			} | ||||||
|   | |||||||
| @@ -17,6 +17,7 @@ import ( | |||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/pprof" | 	"code.gitea.io/gitea/modules/pprof" | ||||||
| 	"code.gitea.io/gitea/modules/private" | 	"code.gitea.io/gitea/modules/private" | ||||||
| @@ -24,7 +25,6 @@ import ( | |||||||
| 	"code.gitea.io/gitea/services/lfs" | 	"code.gitea.io/gitea/services/lfs" | ||||||
|  |  | ||||||
| 	"github.com/golang-jwt/jwt" | 	"github.com/golang-jwt/jwt" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	"github.com/kballard/go-shellquote" | 	"github.com/kballard/go-shellquote" | ||||||
| 	"github.com/urfave/cli" | 	"github.com/urfave/cli" | ||||||
| ) | ) | ||||||
| @@ -265,7 +265,6 @@ func runServ(c *cli.Context) error { | |||||||
| 		} | 		} | ||||||
| 		tokenAuthentication.Header["Authorization"] = fmt.Sprintf("Bearer %s", tokenString) | 		tokenAuthentication.Header["Authorization"] = fmt.Sprintf("Bearer %s", tokenString) | ||||||
|  |  | ||||||
| 		json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 		enc := json.NewEncoder(os.Stdout) | 		enc := json.NewEncoder(os.Stdout) | ||||||
| 		err = enc.Encode(tokenAuthentication) | 		err = enc.Encode(tokenAuthentication) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
|   | |||||||
| @@ -10,9 +10,9 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -190,7 +190,6 @@ func TestAPIEditUser(t *testing.T) { | |||||||
| 	resp := session.MakeRequest(t, req, http.StatusUnprocessableEntity) | 	resp := session.MakeRequest(t, req, http.StatusUnprocessableEntity) | ||||||
|  |  | ||||||
| 	errMap := make(map[string]interface{}) | 	errMap := make(map[string]interface{}) | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	json.Unmarshal(resp.Body.Bytes(), &errMap) | 	json.Unmarshal(resp.Body.Bytes(), &errMap) | ||||||
| 	assert.EqualValues(t, "email is not allowed to be empty string", errMap["message"].(string)) | 	assert.EqualValues(t, "email is not allowed to be empty string", errMap["message"].(string)) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -14,11 +14,11 @@ import ( | |||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/queue" | 	"code.gitea.io/gitea/modules/queue" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	"code.gitea.io/gitea/services/forms" | 	"code.gitea.io/gitea/services/forms" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -231,7 +231,6 @@ func doAPICreatePullRequest(ctx APITestContext, owner, repo, baseBranch, headBra | |||||||
| 		} | 		} | ||||||
| 		resp := ctx.Session.MakeRequest(t, req, expected) | 		resp := ctx.Session.MakeRequest(t, req, expected) | ||||||
|  |  | ||||||
| 		json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 		decoder := json.NewDecoder(resp.Body) | 		decoder := json.NewDecoder(resp.Body) | ||||||
| 		pr := api.PullRequest{} | 		pr := api.PullRequest{} | ||||||
| 		err := decoder.Decode(&pr) | 		err := decoder.Decode(&pr) | ||||||
| @@ -251,7 +250,6 @@ func doAPIGetPullRequest(ctx APITestContext, owner, repo string, index int64) fu | |||||||
| 		} | 		} | ||||||
| 		resp := ctx.Session.MakeRequest(t, req, expected) | 		resp := ctx.Session.MakeRequest(t, req, expected) | ||||||
|  |  | ||||||
| 		json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 		decoder := json.NewDecoder(resp.Body) | 		decoder := json.NewDecoder(resp.Body) | ||||||
| 		pr := api.PullRequest{} | 		pr := api.PullRequest{} | ||||||
| 		err := decoder.Decode(&pr) | 		err := decoder.Decode(&pr) | ||||||
|   | |||||||
| @@ -10,8 +10,9 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -189,7 +190,6 @@ func TestAPIPullReview(t *testing.T) { | |||||||
| 	}) | 	}) | ||||||
| 	resp = session.MakeRequest(t, req, http.StatusUnprocessableEntity) | 	resp = session.MakeRequest(t, req, http.StatusUnprocessableEntity) | ||||||
| 	errMap := make(map[string]interface{}) | 	errMap := make(map[string]interface{}) | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	json.Unmarshal(resp.Body.Bytes(), &errMap) | 	json.Unmarshal(resp.Body.Bytes(), &errMap) | ||||||
| 	assert.EqualValues(t, "review event COMMENT requires a body or a comment", errMap["message"].(string)) | 	assert.EqualValues(t, "review event COMMENT requires a body or a comment", errMap["message"].(string)) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -13,10 +13,10 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/lfs" | 	"code.gitea.io/gitea/modules/lfs" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -86,7 +86,6 @@ func TestAPILFSBatch(t *testing.T) { | |||||||
| 	decodeResponse := func(t *testing.T, b *bytes.Buffer) *lfs.BatchResponse { | 	decodeResponse := func(t *testing.T, b *bytes.Buffer) *lfs.BatchResponse { | ||||||
| 		var br lfs.BatchResponse | 		var br lfs.BatchResponse | ||||||
|  |  | ||||||
| 		json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 		assert.NoError(t, json.Unmarshal(b.Bytes(), &br)) | 		assert.NoError(t, json.Unmarshal(b.Bytes(), &br)) | ||||||
| 		return &br | 		return &br | ||||||
| 	} | 	} | ||||||
|   | |||||||
| @@ -12,12 +12,12 @@ import ( | |||||||
| 	"path/filepath" | 	"path/filepath" | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	"code.gitea.io/gitea/modules/util" | 	"code.gitea.io/gitea/modules/util" | ||||||
| 	"code.gitea.io/gitea/routers" | 	"code.gitea.io/gitea/routers" | ||||||
|  |  | ||||||
| 	"gitea.com/go-chi/session" | 	"gitea.com/go-chi/session" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -63,7 +63,6 @@ func TestSessionFileCreation(t *testing.T) { | |||||||
|  |  | ||||||
| 	var config session.Options | 	var config session.Options | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	err := json.Unmarshal([]byte(oldSessionConfig), &config) | 	err := json.Unmarshal([]byte(oldSessionConfig), &config) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -28,6 +28,7 @@ import ( | |||||||
| 	"code.gitea.io/gitea/modules/base" | 	"code.gitea.io/gitea/modules/base" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
| 	"code.gitea.io/gitea/modules/graceful" | 	"code.gitea.io/gitea/modules/graceful" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/queue" | 	"code.gitea.io/gitea/modules/queue" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| @@ -37,7 +38,6 @@ import ( | |||||||
| 	"code.gitea.io/gitea/routers" | 	"code.gitea.io/gitea/routers" | ||||||
|  |  | ||||||
| 	"github.com/PuerkitoBio/goquery" | 	"github.com/PuerkitoBio/goquery" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -416,7 +416,6 @@ func NewRequestWithValues(t testing.TB, method, urlStr string, values map[string | |||||||
| func NewRequestWithJSON(t testing.TB, method, urlStr string, v interface{}) *http.Request { | func NewRequestWithJSON(t testing.TB, method, urlStr string, v interface{}) *http.Request { | ||||||
| 	t.Helper() | 	t.Helper() | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	jsonBytes, err := json.Marshal(v) | 	jsonBytes, err := json.Marshal(v) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	req := NewRequestWithBody(t, method, urlStr, bytes.NewBuffer(jsonBytes)) | 	req := NewRequestWithBody(t, method, urlStr, bytes.NewBuffer(jsonBytes)) | ||||||
| @@ -508,7 +507,6 @@ func logUnexpectedResponse(t testing.TB, recorder *httptest.ResponseRecorder) { | |||||||
| func DecodeJSON(t testing.TB, resp *httptest.ResponseRecorder, v interface{}) { | func DecodeJSON(t testing.TB, resp *httptest.ResponseRecorder, v interface{}) { | ||||||
| 	t.Helper() | 	t.Helper() | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	decoder := json.NewDecoder(resp.Body) | 	decoder := json.NewDecoder(resp.Body) | ||||||
| 	assert.NoError(t, decoder.Decode(v)) | 	assert.NoError(t, decoder.Decode(v)) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -14,11 +14,11 @@ import ( | |||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/lfs" | 	"code.gitea.io/gitea/modules/lfs" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	"code.gitea.io/gitea/routers/web" | 	"code.gitea.io/gitea/routers/web" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	gzipp "github.com/klauspost/compress/gzip" | 	gzipp "github.com/klauspost/compress/gzip" | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
| @@ -206,7 +206,7 @@ func TestGetLFSRange(t *testing.T) { | |||||||
| 				assert.Equal(t, tt.out, resp.Body.String()) | 				assert.Equal(t, tt.out, resp.Body.String()) | ||||||
| 			} else { | 			} else { | ||||||
| 				var er lfs.ErrorResponse | 				var er lfs.ErrorResponse | ||||||
| 				err := jsoniter.Unmarshal(resp.Body.Bytes(), &er) | 				err := json.Unmarshal(resp.Body.Bytes(), &er) | ||||||
| 				assert.NoError(t, err) | 				assert.NoError(t, err) | ||||||
| 				assert.Equal(t, tt.out, er.Message) | 				assert.Equal(t, tt.out, er.Message) | ||||||
| 			} | 			} | ||||||
|   | |||||||
| @@ -9,9 +9,9 @@ import ( | |||||||
| 	"io/ioutil" | 	"io/ioutil" | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -71,7 +71,6 @@ func TestAccessTokenExchange(t *testing.T) { | |||||||
| 	} | 	} | ||||||
| 	parsed := new(response) | 	parsed := new(response) | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	assert.NoError(t, json.Unmarshal(resp.Body.Bytes(), parsed)) | 	assert.NoError(t, json.Unmarshal(resp.Body.Bytes(), parsed)) | ||||||
| 	assert.True(t, len(parsed.AccessToken) > 10) | 	assert.True(t, len(parsed.AccessToken) > 10) | ||||||
| 	assert.True(t, len(parsed.RefreshToken) > 10) | 	assert.True(t, len(parsed.RefreshToken) > 10) | ||||||
| @@ -96,7 +95,6 @@ func TestAccessTokenExchangeWithoutPKCE(t *testing.T) { | |||||||
| 	} | 	} | ||||||
| 	parsed := new(response) | 	parsed := new(response) | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	assert.NoError(t, json.Unmarshal(resp.Body.Bytes(), parsed)) | 	assert.NoError(t, json.Unmarshal(resp.Body.Bytes(), parsed)) | ||||||
| 	assert.True(t, len(parsed.AccessToken) > 10) | 	assert.True(t, len(parsed.AccessToken) > 10) | ||||||
| 	assert.True(t, len(parsed.RefreshToken) > 10) | 	assert.True(t, len(parsed.RefreshToken) > 10) | ||||||
| @@ -186,7 +184,6 @@ func TestAccessTokenExchangeWithBasicAuth(t *testing.T) { | |||||||
| 	} | 	} | ||||||
| 	parsed := new(response) | 	parsed := new(response) | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	assert.NoError(t, json.Unmarshal(resp.Body.Bytes(), parsed)) | 	assert.NoError(t, json.Unmarshal(resp.Body.Bytes(), parsed)) | ||||||
| 	assert.True(t, len(parsed.AccessToken) > 10) | 	assert.True(t, len(parsed.AccessToken) > 10) | ||||||
| 	assert.True(t, len(parsed.RefreshToken) > 10) | 	assert.True(t, len(parsed.RefreshToken) > 10) | ||||||
| @@ -230,7 +227,6 @@ func TestRefreshTokenInvalidation(t *testing.T) { | |||||||
| 	} | 	} | ||||||
| 	parsed := new(response) | 	parsed := new(response) | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	assert.NoError(t, json.Unmarshal(resp.Body.Bytes(), parsed)) | 	assert.NoError(t, json.Unmarshal(resp.Body.Bytes(), parsed)) | ||||||
|  |  | ||||||
| 	// test without invalidation | 	// test without invalidation | ||||||
|   | |||||||
| @@ -10,10 +10,10 @@ import ( | |||||||
| 	"path" | 	"path" | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -86,7 +86,6 @@ func doTestRepoCommitWithStatus(t *testing.T, state string, classes ...string) { | |||||||
| } | } | ||||||
|  |  | ||||||
| func testRepoCommitsWithStatus(t *testing.T, resp, respOne *httptest.ResponseRecorder, state string) { | func testRepoCommitsWithStatus(t *testing.T, resp, respOne *httptest.ResponseRecorder, state string) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	var statuses []*api.CommitStatus | 	var statuses []*api.CommitStatus | ||||||
| 	assert.NoError(t, json.Unmarshal(resp.Body.Bytes(), &statuses)) | 	assert.NoError(t, json.Unmarshal(resp.Body.Bytes(), &statuses)) | ||||||
| 	var status api.CombinedStatus | 	var status api.CombinedStatus | ||||||
|   | |||||||
| @@ -14,9 +14,9 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/queue" | 	"code.gitea.io/gitea/modules/queue" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| @@ -158,7 +158,6 @@ func NewTestLogger() log.LoggerProvider { | |||||||
| // Init inits connection writer with json config. | // Init inits connection writer with json config. | ||||||
| // json config only need key "level". | // json config only need key "level". | ||||||
| func (log *TestLogger) Init(config string) error { | func (log *TestLogger) Init(config string) error { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	err := json.Unmarshal([]byte(config), log) | 	err := json.Unmarshal([]byte(config), log) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ package models | |||||||
| import ( | import ( | ||||||
| 	"encoding/binary" | 	"encoding/binary" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func keysInt64(m map[int64]struct{}) []int64 { | func keysInt64(m map[int64]struct{}) []int64 { | ||||||
| @@ -37,7 +37,6 @@ func valuesUser(m map[int64]*User) []*User { | |||||||
| // JSONUnmarshalHandleDoubleEncode - due to a bug in xorm (see https://gitea.com/xorm/xorm/pulls/1957) - it's | // JSONUnmarshalHandleDoubleEncode - due to a bug in xorm (see https://gitea.com/xorm/xorm/pulls/1957) - it's | ||||||
| // possible that a Blob may be double encoded or gain an unwanted prefix of 0xff 0xfe. | // possible that a Blob may be double encoded or gain an unwanted prefix of 0xff 0xfe. | ||||||
| func JSONUnmarshalHandleDoubleEncode(bs []byte, v interface{}) error { | func JSONUnmarshalHandleDoubleEncode(bs []byte, v interface{}) error { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	err := json.Unmarshal(bs, v) | 	err := json.Unmarshal(bs, v) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		ok := true | 		ok := true | ||||||
|   | |||||||
| @@ -15,13 +15,13 @@ import ( | |||||||
| 	"unicode/utf8" | 	"unicode/utf8" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/markup" | 	"code.gitea.io/gitea/modules/markup" | ||||||
| 	"code.gitea.io/gitea/modules/markup/markdown" | 	"code.gitea.io/gitea/modules/markup/markdown" | ||||||
| 	"code.gitea.io/gitea/modules/references" | 	"code.gitea.io/gitea/modules/references" | ||||||
| 	"code.gitea.io/gitea/modules/structs" | 	"code.gitea.io/gitea/modules/structs" | ||||||
| 	"code.gitea.io/gitea/modules/timeutil" | 	"code.gitea.io/gitea/modules/timeutil" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
|  |  | ||||||
| 	"xorm.io/builder" | 	"xorm.io/builder" | ||||||
| 	"xorm.io/xorm" | 	"xorm.io/xorm" | ||||||
| @@ -654,7 +654,6 @@ func (c *Comment) LoadPushCommits() (err error) { | |||||||
|  |  | ||||||
| 	var data PushActionContent | 	var data PushActionContent | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	err = json.Unmarshal([]byte(c.Content), &data) | 	err = json.Unmarshal([]byte(c.Content), &data) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return | 		return | ||||||
| @@ -1249,7 +1248,6 @@ func CreatePushPullComment(pusher *User, pr *PullRequest, oldCommitID, newCommit | |||||||
|  |  | ||||||
| 	ops.Issue = pr.Issue | 	ops.Issue = pr.Issue | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	dataJSON, err := json.Marshal(data) | 	dataJSON, err := json.Marshal(data) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
|   | |||||||
| @@ -14,9 +14,9 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/queue" | 	"code.gitea.io/gitea/modules/queue" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| @@ -158,7 +158,6 @@ func NewTestLogger() log.LoggerProvider { | |||||||
| // Init inits connection writer with json config. | // Init inits connection writer with json config. | ||||||
| // json config only need key "level". | // json config only need key "level". | ||||||
| func (log *TestLogger) Init(config string) error { | func (log *TestLogger) Init(config string) error { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	err := json.Unmarshal([]byte(config), log) | 	err := json.Unmarshal([]byte(config), log) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
|   | |||||||
| @@ -5,8 +5,8 @@ | |||||||
| package migrations | package migrations | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
|  |  | ||||||
| 	"xorm.io/xorm" | 	"xorm.io/xorm" | ||||||
| ) | ) | ||||||
| @@ -70,7 +70,6 @@ func expandWebhooks(x *xorm.Engine) error { | |||||||
|  |  | ||||||
| 		for _, res := range results { | 		for _, res := range results { | ||||||
| 			var events HookEvent | 			var events HookEvent | ||||||
| 			json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 			if err = json.Unmarshal([]byte(res.Events), &events); err != nil { | 			if err = json.Unmarshal([]byte(res.Events), &events); err != nil { | ||||||
| 				return err | 				return err | ||||||
| 			} | 			} | ||||||
|   | |||||||
| @@ -5,9 +5,9 @@ | |||||||
| package migrations | package migrations | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/util" | 	"code.gitea.io/gitea/modules/util" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	"xorm.io/builder" | 	"xorm.io/builder" | ||||||
| 	"xorm.io/xorm" | 	"xorm.io/xorm" | ||||||
| ) | ) | ||||||
| @@ -105,7 +105,6 @@ func removeCredentials(payload string) (string, error) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	var opts MigrateOptions | 	var opts MigrateOptions | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	err := json.Unmarshal([]byte(payload), &opts) | 	err := json.Unmarshal([]byte(payload), &opts) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return "", err | 		return "", err | ||||||
|   | |||||||
| @@ -8,13 +8,13 @@ import ( | |||||||
| 	"encoding/binary" | 	"encoding/binary" | ||||||
| 	"fmt" | 	"fmt" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
|  |  | ||||||
| 	"xorm.io/xorm" | 	"xorm.io/xorm" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func unwrapLDAPSourceCfg(x *xorm.Engine) error { | func unwrapLDAPSourceCfg(x *xorm.Engine) error { | ||||||
| 	jsonUnmarshalHandleDoubleEncode := func(bs []byte, v interface{}) error { | 	jsonUnmarshalHandleDoubleEncode := func(bs []byte, v interface{}) error { | ||||||
| 		json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 		err := json.Unmarshal(bs, v) | 		err := json.Unmarshal(bs, v) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			ok := true | 			ok := true | ||||||
| @@ -84,7 +84,7 @@ func unwrapLDAPSourceCfg(x *xorm.Engine) error { | |||||||
| 				return fmt.Errorf("failed to unmarshal %s: %w", string(source.Cfg), err) | 				return fmt.Errorf("failed to unmarshal %s: %w", string(source.Cfg), err) | ||||||
| 			} | 			} | ||||||
| 			if wrapped.Source != nil && len(wrapped.Source) > 0 { | 			if wrapped.Source != nil && len(wrapped.Source) > 0 { | ||||||
| 				bs, err := jsoniter.Marshal(wrapped.Source) | 				bs, err := json.Marshal(wrapped.Source) | ||||||
| 				if err != nil { | 				if err != nil { | ||||||
| 					return err | 					return err | ||||||
| 				} | 				} | ||||||
|   | |||||||
| @@ -7,7 +7,8 @@ package migrations | |||||||
| import ( | import ( | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -65,12 +66,12 @@ func Test_unwrapLDAPSourceCfg(t *testing.T) { | |||||||
| 			converted := map[string]interface{}{} | 			converted := map[string]interface{}{} | ||||||
| 			expected := map[string]interface{}{} | 			expected := map[string]interface{}{} | ||||||
|  |  | ||||||
| 			if err := jsoniter.Unmarshal([]byte(source.Cfg), &converted); err != nil { | 			if err := json.Unmarshal([]byte(source.Cfg), &converted); err != nil { | ||||||
| 				assert.NoError(t, err) | 				assert.NoError(t, err) | ||||||
| 				return | 				return | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| 			if err := jsoniter.Unmarshal([]byte(source.Expected), &expected); err != nil { | 			if err := json.Unmarshal([]byte(source.Expected), &expected); err != nil { | ||||||
| 				assert.NoError(t, err) | 				assert.NoError(t, err) | ||||||
| 				return | 				return | ||||||
| 			} | 			} | ||||||
|   | |||||||
| @@ -7,9 +7,9 @@ package models | |||||||
| import ( | import ( | ||||||
| 	"fmt" | 	"fmt" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/timeutil" | 	"code.gitea.io/gitea/modules/timeutil" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	"xorm.io/xorm" | 	"xorm.io/xorm" | ||||||
| 	"xorm.io/xorm/convert" | 	"xorm.io/xorm/convert" | ||||||
| ) | ) | ||||||
| @@ -33,7 +33,6 @@ func (cfg *UnitConfig) FromDB(bs []byte) error { | |||||||
|  |  | ||||||
| // ToDB exports a UnitConfig to a serialized format. | // ToDB exports a UnitConfig to a serialized format. | ||||||
| func (cfg *UnitConfig) ToDB() ([]byte, error) { | func (cfg *UnitConfig) ToDB() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.Marshal(cfg) | 	return json.Marshal(cfg) | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -49,7 +48,6 @@ func (cfg *ExternalWikiConfig) FromDB(bs []byte) error { | |||||||
|  |  | ||||||
| // ToDB exports a ExternalWikiConfig to a serialized format. | // ToDB exports a ExternalWikiConfig to a serialized format. | ||||||
| func (cfg *ExternalWikiConfig) ToDB() ([]byte, error) { | func (cfg *ExternalWikiConfig) ToDB() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.Marshal(cfg) | 	return json.Marshal(cfg) | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -67,7 +65,6 @@ func (cfg *ExternalTrackerConfig) FromDB(bs []byte) error { | |||||||
|  |  | ||||||
| // ToDB exports a ExternalTrackerConfig to a serialized format. | // ToDB exports a ExternalTrackerConfig to a serialized format. | ||||||
| func (cfg *ExternalTrackerConfig) ToDB() ([]byte, error) { | func (cfg *ExternalTrackerConfig) ToDB() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.Marshal(cfg) | 	return json.Marshal(cfg) | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -85,7 +82,6 @@ func (cfg *IssuesConfig) FromDB(bs []byte) error { | |||||||
|  |  | ||||||
| // ToDB exports a IssuesConfig to a serialized format. | // ToDB exports a IssuesConfig to a serialized format. | ||||||
| func (cfg *IssuesConfig) ToDB() ([]byte, error) { | func (cfg *IssuesConfig) ToDB() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.Marshal(cfg) | 	return json.Marshal(cfg) | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -109,7 +105,6 @@ func (cfg *PullRequestsConfig) FromDB(bs []byte) error { | |||||||
|  |  | ||||||
| // ToDB exports a PullRequestsConfig to a serialized format. | // ToDB exports a PullRequestsConfig to a serialized format. | ||||||
| func (cfg *PullRequestsConfig) ToDB() ([]byte, error) { | func (cfg *PullRequestsConfig) ToDB() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.Marshal(cfg) | 	return json.Marshal(cfg) | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -7,13 +7,13 @@ package models | |||||||
| import ( | import ( | ||||||
| 	"fmt" | 	"fmt" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	migration "code.gitea.io/gitea/modules/migrations/base" | 	migration "code.gitea.io/gitea/modules/migrations/base" | ||||||
| 	"code.gitea.io/gitea/modules/secret" | 	"code.gitea.io/gitea/modules/secret" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	"code.gitea.io/gitea/modules/structs" | 	"code.gitea.io/gitea/modules/structs" | ||||||
| 	"code.gitea.io/gitea/modules/timeutil" | 	"code.gitea.io/gitea/modules/timeutil" | ||||||
| 	"code.gitea.io/gitea/modules/util" | 	"code.gitea.io/gitea/modules/util" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
|  |  | ||||||
| 	"xorm.io/builder" | 	"xorm.io/builder" | ||||||
| ) | ) | ||||||
| @@ -114,7 +114,6 @@ func (task *Task) UpdateCols(cols ...string) error { | |||||||
| func (task *Task) MigrateConfig() (*migration.MigrateOptions, error) { | func (task *Task) MigrateConfig() (*migration.MigrateOptions, error) { | ||||||
| 	if task.Type == structs.TaskTypeMigrateRepo { | 	if task.Type == structs.TaskTypeMigrateRepo { | ||||||
| 		var opts migration.MigrateOptions | 		var opts migration.MigrateOptions | ||||||
| 		json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 		err := json.Unmarshal([]byte(task.PayloadContent), &opts) | 		err := json.Unmarshal([]byte(task.PayloadContent), &opts) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			return nil, err | 			return nil, err | ||||||
| @@ -190,7 +189,6 @@ func GetMigratingTaskByID(id, doerID int64) (*Task, *migration.MigrateOptions, e | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	var opts migration.MigrateOptions | 	var opts migration.MigrateOptions | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if err := json.Unmarshal([]byte(task.PayloadContent), &opts); err != nil { | 	if err := json.Unmarshal([]byte(task.PayloadContent), &opts); err != nil { | ||||||
| 		return nil, nil, err | 		return nil, nil, err | ||||||
| 	} | 	} | ||||||
| @@ -244,7 +242,6 @@ func FinishMigrateTask(task *Task) error { | |||||||
| 	conf.AuthPasswordEncrypted = "" | 	conf.AuthPasswordEncrypted = "" | ||||||
| 	conf.AuthTokenEncrypted = "" | 	conf.AuthTokenEncrypted = "" | ||||||
| 	conf.CloneAddrEncrypted = "" | 	conf.CloneAddrEncrypted = "" | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	confBytes, err := json.Marshal(conf) | 	confBytes, err := json.Marshal(conf) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
|   | |||||||
| @@ -8,7 +8,8 @@ import ( | |||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -68,7 +69,6 @@ func TestGetUserHeatmapDataByUser(t *testing.T) { | |||||||
| 		assert.Equal(t, tc.CountResult, contributions, fmt.Sprintf("testcase %d", i)) | 		assert.Equal(t, tc.CountResult, contributions, fmt.Sprintf("testcase %d", i)) | ||||||
|  |  | ||||||
| 		// Test JSON rendering | 		// Test JSON rendering | ||||||
| 		json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 		jsonData, err := json.Marshal(heatmap) | 		jsonData, err := json.Marshal(heatmap) | ||||||
| 		assert.NoError(t, err) | 		assert.NoError(t, err) | ||||||
| 		assert.Equal(t, tc.JSONResult, string(jsonData)) | 		assert.Equal(t, tc.JSONResult, string(jsonData)) | ||||||
|   | |||||||
| @@ -11,13 +11,13 @@ import ( | |||||||
| 	"strings" | 	"strings" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	"code.gitea.io/gitea/modules/timeutil" | 	"code.gitea.io/gitea/modules/timeutil" | ||||||
|  |  | ||||||
| 	gouuid "github.com/google/uuid" | 	gouuid "github.com/google/uuid" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // HookContentType is the content type of a web hook | // HookContentType is the content type of a web hook | ||||||
| @@ -160,8 +160,6 @@ type Webhook struct { | |||||||
| // AfterLoad updates the webhook object upon setting a column | // AfterLoad updates the webhook object upon setting a column | ||||||
| func (w *Webhook) AfterLoad() { | func (w *Webhook) AfterLoad() { | ||||||
| 	w.HookEvent = &HookEvent{} | 	w.HookEvent = &HookEvent{} | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if err := json.Unmarshal([]byte(w.Events), w.HookEvent); err != nil { | 	if err := json.Unmarshal([]byte(w.Events), w.HookEvent); err != nil { | ||||||
| 		log.Error("Unmarshal[%d]: %v", w.ID, err) | 		log.Error("Unmarshal[%d]: %v", w.ID, err) | ||||||
| 	} | 	} | ||||||
| @@ -174,7 +172,6 @@ func (w *Webhook) History(page int) ([]*HookTask, error) { | |||||||
|  |  | ||||||
| // UpdateEvent handles conversion from HookEvent to Events. | // UpdateEvent handles conversion from HookEvent to Events. | ||||||
| func (w *Webhook) UpdateEvent() error { | func (w *Webhook) UpdateEvent() error { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	data, err := json.Marshal(w.HookEvent) | 	data, err := json.Marshal(w.HookEvent) | ||||||
| 	w.Events = string(data) | 	w.Events = string(data) | ||||||
| 	return err | 	return err | ||||||
| @@ -687,7 +684,6 @@ func (t *HookTask) AfterLoad() { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	t.RequestInfo = &HookRequest{} | 	t.RequestInfo = &HookRequest{} | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if err := json.Unmarshal([]byte(t.RequestContent), t.RequestInfo); err != nil { | 	if err := json.Unmarshal([]byte(t.RequestContent), t.RequestInfo); err != nil { | ||||||
| 		log.Error("Unmarshal RequestContent[%d]: %v", t.ID, err) | 		log.Error("Unmarshal RequestContent[%d]: %v", t.ID, err) | ||||||
| 	} | 	} | ||||||
| @@ -701,7 +697,6 @@ func (t *HookTask) AfterLoad() { | |||||||
| } | } | ||||||
|  |  | ||||||
| func (t *HookTask) simpleMarshalJSON(v interface{}) string { | func (t *HookTask) simpleMarshalJSON(v interface{}) string { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	p, err := json.Marshal(v) | 	p, err := json.Marshal(v) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Error("Marshal [%d]: %v", t.ID, err) | 		log.Error("Marshal [%d]: %v", t.ID, err) | ||||||
|   | |||||||
| @@ -9,9 +9,9 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -58,7 +58,6 @@ func TestWebhook_UpdateEvent(t *testing.T) { | |||||||
| 	assert.NoError(t, webhook.UpdateEvent()) | 	assert.NoError(t, webhook.UpdateEvent()) | ||||||
| 	assert.NotEmpty(t, webhook.Events) | 	assert.NotEmpty(t, webhook.Events) | ||||||
| 	actualHookEvent := &HookEvent{} | 	actualHookEvent := &HookEvent{} | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	assert.NoError(t, json.Unmarshal([]byte(webhook.Events), actualHookEvent)) | 	assert.NoError(t, json.Unmarshal([]byte(webhook.Events), actualHookEvent)) | ||||||
| 	assert.Equal(t, *hookEvent, *actualHookEvent) | 	assert.Equal(t, *hookEvent, *actualHookEvent) | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								modules/cache/cache_twoqueue.go
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								modules/cache/cache_twoqueue.go
									
									
									
									
										vendored
									
									
								
							| @@ -9,9 +9,10 @@ import ( | |||||||
| 	"sync" | 	"sync" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
|  |  | ||||||
| 	mc "gitea.com/go-chi/cache" | 	mc "gitea.com/go-chi/cache" | ||||||
| 	lru "github.com/hashicorp/golang-lru" | 	lru "github.com/hashicorp/golang-lru" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // TwoQueueCache represents a LRU 2Q cache adapter implementation | // TwoQueueCache represents a LRU 2Q cache adapter implementation | ||||||
| @@ -177,7 +178,6 @@ func (c *TwoQueueCache) StartAndGC(opts mc.Options) error { | |||||||
| 		size, err = strconv.Atoi(opts.AdapterConfig) | 		size, err = strconv.Atoi(opts.AdapterConfig) | ||||||
| 	} | 	} | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 		if !json.Valid([]byte(opts.AdapterConfig)) { | 		if !json.Valid([]byte(opts.AdapterConfig)) { | ||||||
| 			return err | 			return err | ||||||
| 		} | 		} | ||||||
|   | |||||||
| @@ -23,6 +23,7 @@ import ( | |||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/base" | 	"code.gitea.io/gitea/modules/base" | ||||||
| 	mc "code.gitea.io/gitea/modules/cache" | 	mc "code.gitea.io/gitea/modules/cache" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	"code.gitea.io/gitea/modules/templates" | 	"code.gitea.io/gitea/modules/templates" | ||||||
| @@ -34,7 +35,6 @@ import ( | |||||||
| 	"gitea.com/go-chi/cache" | 	"gitea.com/go-chi/cache" | ||||||
| 	"gitea.com/go-chi/session" | 	"gitea.com/go-chi/session" | ||||||
| 	"github.com/go-chi/chi" | 	"github.com/go-chi/chi" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	"github.com/unknwon/com" | 	"github.com/unknwon/com" | ||||||
| 	"github.com/unknwon/i18n" | 	"github.com/unknwon/i18n" | ||||||
| 	"github.com/unrolled/render" | 	"github.com/unrolled/render" | ||||||
| @@ -408,7 +408,6 @@ func (ctx *Context) Error(status int, contents ...string) { | |||||||
| func (ctx *Context) JSON(status int, content interface{}) { | func (ctx *Context) JSON(status int, content interface{}) { | ||||||
| 	ctx.Resp.Header().Set("Content-Type", "application/json;charset=utf-8") | 	ctx.Resp.Header().Set("Content-Type", "application/json;charset=utf-8") | ||||||
| 	ctx.Resp.WriteHeader(status) | 	ctx.Resp.WriteHeader(status) | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if err := json.NewEncoder(ctx.Resp).Encode(content); err != nil { | 	if err := json.NewEncoder(ctx.Resp).Encode(content); err != nil { | ||||||
| 		ctx.ServerError("Render JSON failed", err) | 		ctx.ServerError("Render JSON failed", err) | ||||||
| 	} | 	} | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ import ( | |||||||
| 	"strings" | 	"strings" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func wrapNewlines(w io.Writer, prefix []byte, value []byte) (sum int64, err error) { | func wrapNewlines(w io.Writer, prefix []byte, value []byte) (sum int64, err error) { | ||||||
| @@ -80,7 +80,6 @@ func (e *Event) WriteTo(w io.Writer) (int64, error) { | |||||||
| 			data = []byte(v) | 			data = []byte(v) | ||||||
| 		default: | 		default: | ||||||
| 			var err error | 			var err error | ||||||
| 			json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 			data, err = json.Marshal(e.Data) | 			data, err = json.Marshal(e.Data) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				return sum, err | 				return sum, err | ||||||
| @@ -91,7 +90,6 @@ func (e *Event) WriteTo(w io.Writer) (int64, error) { | |||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			return sum, err | 			return sum, err | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	n, err = wrapNewlines(w, []byte("id: "), []byte(e.ID)) | 	n, err = wrapNewlines(w, []byte("id: "), []byte(e.ID)) | ||||||
|   | |||||||
| @@ -24,7 +24,7 @@ import ( | |||||||
| 	"sync" | 	"sync" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| var defaultSetting = Settings{false, "GiteaServer", 60 * time.Second, 60 * time.Second, nil, nil, nil, false} | var defaultSetting = Settings{false, "GiteaServer", 60 * time.Second, 60 * time.Second, nil, nil, nil, false} | ||||||
| @@ -443,7 +443,6 @@ func (r *Request) ToJSON(v interface{}) error { | |||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	err = json.Unmarshal(data, v) | 	err = json.Unmarshal(data, v) | ||||||
| 	return err | 	return err | ||||||
| } | } | ||||||
|   | |||||||
| @@ -18,13 +18,13 @@ import ( | |||||||
| 	"code.gitea.io/gitea/modules/analyze" | 	"code.gitea.io/gitea/modules/analyze" | ||||||
| 	"code.gitea.io/gitea/modules/charset" | 	"code.gitea.io/gitea/modules/charset" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	"code.gitea.io/gitea/modules/timeutil" | 	"code.gitea.io/gitea/modules/timeutil" | ||||||
| 	"code.gitea.io/gitea/modules/typesniffer" | 	"code.gitea.io/gitea/modules/typesniffer" | ||||||
|  |  | ||||||
| 	"github.com/go-enry/go-enry/v2" | 	"github.com/go-enry/go-enry/v2" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	"github.com/olivere/elastic/v7" | 	"github.com/olivere/elastic/v7" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -321,7 +321,6 @@ func convertResult(searchResult *elastic.SearchResult, kw string, pageSize int) | |||||||
|  |  | ||||||
| 		repoID, fileName := parseIndexerID(hit.Id) | 		repoID, fileName := parseIndexerID(hit.Id) | ||||||
| 		var res = make(map[string]interface{}) | 		var res = make(map[string]interface{}) | ||||||
| 		json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 		if err := json.Unmarshal(hit.Source, &res); err != nil { | 		if err := json.Unmarshal(hit.Source, &res); err != nil { | ||||||
| 			return 0, nil, nil, err | 			return 0, nil, nil, err | ||||||
| 		} | 		} | ||||||
|   | |||||||
							
								
								
									
										142
									
								
								modules/json/json.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										142
									
								
								modules/json/json.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,142 @@ | |||||||
|  | // Copyright 2020 The Gitea Authors. All rights reserved. | ||||||
|  | // Use of this source code is governed by a BSD-style | ||||||
|  | // license that can be found in the LICENSE file. | ||||||
|  |  | ||||||
|  | package json | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"bytes" | ||||||
|  | 	"encoding/json" | ||||||
|  | 	"io" | ||||||
|  |  | ||||||
|  | 	jsoniter "github.com/json-iterator/go" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | // Encoder represents an encoder for json | ||||||
|  | type Encoder interface { | ||||||
|  | 	Encode(v interface{}) error | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Decoder represents a decoder for json | ||||||
|  | type Decoder interface { | ||||||
|  | 	Decode(v interface{}) error | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Interface represents an interface to handle json data | ||||||
|  | type Interface interface { | ||||||
|  | 	Marshal(v interface{}) ([]byte, error) | ||||||
|  | 	Unmarshal(data []byte, v interface{}) error | ||||||
|  | 	NewEncoder(writer io.Writer) Encoder | ||||||
|  | 	NewDecoder(reader io.Reader) Decoder | ||||||
|  | 	Indent(dst *bytes.Buffer, src []byte, prefix, indent string) error | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var ( | ||||||
|  | 	// DefaultJSONHandler default json handler | ||||||
|  | 	DefaultJSONHandler Interface = JSONiter{jsoniter.ConfigCompatibleWithStandardLibrary} | ||||||
|  |  | ||||||
|  | 	_ Interface = StdJSON{} | ||||||
|  | 	_ Interface = JSONiter{} | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | // StdJSON implements Interface via encoding/json | ||||||
|  | type StdJSON struct{} | ||||||
|  |  | ||||||
|  | // Marshal implements Interface | ||||||
|  | func (StdJSON) Marshal(v interface{}) ([]byte, error) { | ||||||
|  | 	return json.Marshal(v) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Unmarshal implements Interface | ||||||
|  | func (StdJSON) Unmarshal(data []byte, v interface{}) error { | ||||||
|  | 	return json.Unmarshal(data, v) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // NewEncoder implements Interface | ||||||
|  | func (StdJSON) NewEncoder(writer io.Writer) Encoder { | ||||||
|  | 	return json.NewEncoder(writer) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // NewDecoder implements Interface | ||||||
|  | func (StdJSON) NewDecoder(reader io.Reader) Decoder { | ||||||
|  | 	return json.NewDecoder(reader) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Indent implements Interface | ||||||
|  | func (StdJSON) Indent(dst *bytes.Buffer, src []byte, prefix, indent string) error { | ||||||
|  | 	return json.Indent(dst, src, prefix, indent) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // JSONiter implements Interface via jsoniter | ||||||
|  | type JSONiter struct { | ||||||
|  | 	jsoniter.API | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Marshal implements Interface | ||||||
|  | func (j JSONiter) Marshal(v interface{}) ([]byte, error) { | ||||||
|  | 	return j.API.Marshal(v) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Unmarshal implements Interface | ||||||
|  | func (j JSONiter) Unmarshal(data []byte, v interface{}) error { | ||||||
|  | 	return j.API.Unmarshal(data, v) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // NewEncoder implements Interface | ||||||
|  | func (j JSONiter) NewEncoder(writer io.Writer) Encoder { | ||||||
|  | 	return j.API.NewEncoder(writer) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // NewDecoder implements Interface | ||||||
|  | func (j JSONiter) NewDecoder(reader io.Reader) Decoder { | ||||||
|  | 	return j.API.NewDecoder(reader) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Indent implements Interface, since jsoniter don't support Indent, just use encoding/json's | ||||||
|  | func (j JSONiter) Indent(dst *bytes.Buffer, src []byte, prefix, indent string) error { | ||||||
|  | 	return json.Indent(dst, src, prefix, indent) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Marshal converts object as bytes | ||||||
|  | func Marshal(v interface{}) ([]byte, error) { | ||||||
|  | 	return DefaultJSONHandler.Marshal(v) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Unmarshal decodes object from bytes | ||||||
|  | func Unmarshal(data []byte, v interface{}) error { | ||||||
|  | 	return DefaultJSONHandler.Unmarshal(data, v) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // NewEncoder creates an encoder to write objects to writer | ||||||
|  | func NewEncoder(writer io.Writer) Encoder { | ||||||
|  | 	return DefaultJSONHandler.NewEncoder(writer) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // NewDecoder creates a decoder to read objects from reader | ||||||
|  | func NewDecoder(reader io.Reader) Decoder { | ||||||
|  | 	return DefaultJSONHandler.NewDecoder(reader) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Indent appends to dst an indented form of the JSON-encoded src. | ||||||
|  | func Indent(dst *bytes.Buffer, src []byte, prefix, indent string) error { | ||||||
|  | 	return DefaultJSONHandler.Indent(dst, src, prefix, indent) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // MarshalIndent copied from encoding/json | ||||||
|  | func MarshalIndent(v interface{}, prefix, indent string) ([]byte, error) { | ||||||
|  | 	b, err := Marshal(v) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	var buf bytes.Buffer | ||||||
|  | 	err = Indent(&buf, b, prefix, indent) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return buf.Bytes(), nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Valid proxy to json.Valid | ||||||
|  | func Valid(data []byte) bool { | ||||||
|  | 	return json.Valid(data) | ||||||
|  | } | ||||||
| @@ -13,9 +13,8 @@ import ( | |||||||
| 	"net/url" | 	"net/url" | ||||||
| 	"strings" | 	"strings" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| const batchSize = 20 | const batchSize = 20 | ||||||
| @@ -69,7 +68,7 @@ func (c *HTTPClient) batch(ctx context.Context, operation string, objects []Poin | |||||||
| 	request := &BatchRequest{operation, c.transferNames(), nil, objects} | 	request := &BatchRequest{operation, c.transferNames(), nil, objects} | ||||||
|  |  | ||||||
| 	payload := new(bytes.Buffer) | 	payload := new(bytes.Buffer) | ||||||
| 	err := jsoniter.NewEncoder(payload).Encode(request) | 	err := json.NewEncoder(payload).Encode(request) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Error("Error encoding json: %v", err) | 		log.Error("Error encoding json: %v", err) | ||||||
| 		return nil, err | 		return nil, err | ||||||
| @@ -102,7 +101,7 @@ func (c *HTTPClient) batch(ctx context.Context, operation string, objects []Poin | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	var response BatchResponse | 	var response BatchResponse | ||||||
| 	err = jsoniter.NewDecoder(res.Body).Decode(&response) | 	err = json.NewDecoder(res.Body).Decode(&response) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Error("Error decoding json: %v", err) | 		log.Error("Error decoding json: %v", err) | ||||||
| 		return nil, err | 		return nil, err | ||||||
|   | |||||||
| @@ -13,7 +13,8 @@ import ( | |||||||
| 	"strings" | 	"strings" | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -146,7 +147,7 @@ func lfsTestRoundtripHandler(req *http.Request) *http.Response { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	payload := new(bytes.Buffer) | 	payload := new(bytes.Buffer) | ||||||
| 	jsoniter.NewEncoder(payload).Encode(batchResponse) | 	json.NewEncoder(payload).Encode(batchResponse) | ||||||
|  |  | ||||||
| 	return &http.Response{StatusCode: http.StatusOK, Body: ioutil.NopCloser(payload)} | 	return &http.Response{StatusCode: http.StatusOK, Body: ioutil.NopCloser(payload)} | ||||||
| } | } | ||||||
| @@ -160,7 +161,7 @@ func TestHTTPClientDownload(t *testing.T) { | |||||||
| 		assert.Equal(t, MediaType, req.Header.Get("Accept")) | 		assert.Equal(t, MediaType, req.Header.Get("Accept")) | ||||||
|  |  | ||||||
| 		var batchRequest BatchRequest | 		var batchRequest BatchRequest | ||||||
| 		err := jsoniter.NewDecoder(req.Body).Decode(&batchRequest) | 		err := json.NewDecoder(req.Body).Decode(&batchRequest) | ||||||
| 		assert.NoError(t, err) | 		assert.NoError(t, err) | ||||||
|  |  | ||||||
| 		assert.Equal(t, "download", batchRequest.Operation) | 		assert.Equal(t, "download", batchRequest.Operation) | ||||||
| @@ -267,7 +268,7 @@ func TestHTTPClientUpload(t *testing.T) { | |||||||
| 		assert.Equal(t, MediaType, req.Header.Get("Accept")) | 		assert.Equal(t, MediaType, req.Header.Get("Accept")) | ||||||
|  |  | ||||||
| 		var batchRequest BatchRequest | 		var batchRequest BatchRequest | ||||||
| 		err := jsoniter.NewDecoder(req.Body).Decode(&batchRequest) | 		err := json.NewDecoder(req.Body).Decode(&batchRequest) | ||||||
| 		assert.NoError(t, err) | 		assert.NoError(t, err) | ||||||
|  |  | ||||||
| 		assert.Equal(t, "upload", batchRequest.Operation) | 		assert.Equal(t, "upload", batchRequest.Operation) | ||||||
|   | |||||||
| @@ -12,9 +12,8 @@ import ( | |||||||
| 	"io" | 	"io" | ||||||
| 	"net/http" | 	"net/http" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // TransferAdapter represents an adapter for downloading/uploading LFS objects | // TransferAdapter represents an adapter for downloading/uploading LFS objects | ||||||
| @@ -65,7 +64,7 @@ func (a *BasicTransferAdapter) Upload(ctx context.Context, l *Link, p Pointer, r | |||||||
|  |  | ||||||
| // Verify calls the verify handler on the LFS server | // Verify calls the verify handler on the LFS server | ||||||
| func (a *BasicTransferAdapter) Verify(ctx context.Context, l *Link, p Pointer) error { | func (a *BasicTransferAdapter) Verify(ctx context.Context, l *Link, p Pointer) error { | ||||||
| 	b, err := jsoniter.Marshal(p) | 	b, err := json.Marshal(p) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Error("Error encoding json: %v", err) | 		log.Error("Error encoding json: %v", err) | ||||||
| 		return err | 		return err | ||||||
| @@ -128,7 +127,7 @@ func handleErrorResponse(resp *http.Response) error { | |||||||
|  |  | ||||||
| func decodeReponseError(r io.Reader) (ErrorResponse, error) { | func decodeReponseError(r io.Reader) (ErrorResponse, error) { | ||||||
| 	var er ErrorResponse | 	var er ErrorResponse | ||||||
| 	err := jsoniter.NewDecoder(r).Decode(&er) | 	err := json.NewDecoder(r).Decode(&er) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Error("Error decoding json: %v", err) | 		log.Error("Error decoding json: %v", err) | ||||||
| 	} | 	} | ||||||
|   | |||||||
| @@ -13,7 +13,8 @@ import ( | |||||||
| 	"strings" | 	"strings" | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -49,7 +50,7 @@ func TestBasicTransferAdapter(t *testing.T) { | |||||||
| 			assert.Equal(t, MediaType, req.Header.Get("Content-Type")) | 			assert.Equal(t, MediaType, req.Header.Get("Content-Type")) | ||||||
|  |  | ||||||
| 			var vp Pointer | 			var vp Pointer | ||||||
| 			err := jsoniter.NewDecoder(req.Body).Decode(&vp) | 			err := json.NewDecoder(req.Body).Decode(&vp) | ||||||
| 			assert.NoError(t, err) | 			assert.NoError(t, err) | ||||||
| 			assert.Equal(t, p.Oid, vp.Oid) | 			assert.Equal(t, p.Oid, vp.Oid) | ||||||
| 			assert.Equal(t, p.Size, vp.Size) | 			assert.Equal(t, p.Size, vp.Size) | ||||||
| @@ -60,7 +61,7 @@ func TestBasicTransferAdapter(t *testing.T) { | |||||||
| 				Message: "Object not found", | 				Message: "Object not found", | ||||||
| 			} | 			} | ||||||
| 			payload := new(bytes.Buffer) | 			payload := new(bytes.Buffer) | ||||||
| 			jsoniter.NewEncoder(payload).Encode(er) | 			json.NewEncoder(payload).Encode(er) | ||||||
|  |  | ||||||
| 			return &http.Response{StatusCode: http.StatusNotFound, Body: ioutil.NopCloser(payload)} | 			return &http.Response{StatusCode: http.StatusNotFound, Body: ioutil.NopCloser(payload)} | ||||||
| 		} else { | 		} else { | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"io" | 	"io" | ||||||
| 	"net" | 	"net" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type connWriter struct { | type connWriter struct { | ||||||
| @@ -106,7 +106,6 @@ func NewConn() LoggerProvider { | |||||||
| // Init inits connection writer with json config. | // Init inits connection writer with json config. | ||||||
| // json config only need key "level". | // json config only need key "level". | ||||||
| func (log *ConnLogger) Init(jsonconfig string) error { | func (log *ConnLogger) Init(jsonconfig string) error { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	err := json.Unmarshal([]byte(jsonconfig), log) | 	err := json.Unmarshal([]byte(jsonconfig), log) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return fmt.Errorf("Unable to parse JSON: %v", err) | 		return fmt.Errorf("Unable to parse JSON: %v", err) | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"io" | 	"io" | ||||||
| 	"os" | 	"os" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // CanColorStdout reports if we can color the Stdout | // CanColorStdout reports if we can color the Stdout | ||||||
| @@ -52,7 +52,6 @@ func NewConsoleLogger() LoggerProvider { | |||||||
| // Init inits connection writer with json config. | // Init inits connection writer with json config. | ||||||
| // json config only need key "level". | // json config only need key "level". | ||||||
| func (log *ConsoleLogger) Init(config string) error { | func (log *ConsoleLogger) Init(config string) error { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	err := json.Unmarshal([]byte(config), log) | 	err := json.Unmarshal([]byte(config), log) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return fmt.Errorf("Unable to parse JSON: %v", err) | 		return fmt.Errorf("Unable to parse JSON: %v", err) | ||||||
|   | |||||||
| @@ -15,8 +15,8 @@ import ( | |||||||
| 	"sync" | 	"sync" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/util" | 	"code.gitea.io/gitea/modules/util" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // FileLogger implements LoggerProvider. | // FileLogger implements LoggerProvider. | ||||||
| @@ -101,7 +101,6 @@ func NewFileLogger() LoggerProvider { | |||||||
| //	"rotate":true | //	"rotate":true | ||||||
| //	} | //	} | ||||||
| func (log *FileLogger) Init(config string) error { | func (log *FileLogger) Init(config string) error { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if err := json.Unmarshal([]byte(config), log); err != nil { | 	if err := json.Unmarshal([]byte(config), log); err != nil { | ||||||
| 		return fmt.Errorf("Unable to parse JSON: %v", err) | 		return fmt.Errorf("Unable to parse JSON: %v", err) | ||||||
| 	} | 	} | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"os" | 	"os" | ||||||
| 	"strings" | 	"strings" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // Level is the level of the logger | // Level is the level of the logger | ||||||
| @@ -104,7 +104,6 @@ func FromString(level string) Level { | |||||||
| // UnmarshalJSON takes text and turns it into a Level | // UnmarshalJSON takes text and turns it into a Level | ||||||
| func (l *Level) UnmarshalJSON(b []byte) error { | func (l *Level) UnmarshalJSON(b []byte) error { | ||||||
| 	var tmp interface{} | 	var tmp interface{} | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	err := json.Unmarshal(b, &tmp) | 	err := json.Unmarshal(b, &tmp) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		fmt.Fprintf(os.Stderr, "Err: %v", err) | 		fmt.Fprintf(os.Stderr, "Err: %v", err) | ||||||
|   | |||||||
| @@ -8,7 +8,8 @@ import ( | |||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -17,7 +18,6 @@ type testLevel struct { | |||||||
| } | } | ||||||
|  |  | ||||||
| func TestLevelMarshalUnmarshalJSON(t *testing.T) { | func TestLevelMarshalUnmarshalJSON(t *testing.T) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	levelBytes, err := json.Marshal(testLevel{ | 	levelBytes, err := json.Marshal(testLevel{ | ||||||
| 		Level: INFO, | 		Level: INFO, | ||||||
| 	}) | 	}) | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"net/smtp" | 	"net/smtp" | ||||||
| 	"strings" | 	"strings" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type smtpWriter struct { | type smtpWriter struct { | ||||||
| @@ -57,7 +57,6 @@ func NewSMTPLogger() LoggerProvider { | |||||||
| //		"level":LevelError | //		"level":LevelError | ||||||
| //	} | //	} | ||||||
| func (log *SMTPLogger) Init(jsonconfig string) error { | func (log *SMTPLogger) Init(jsonconfig string) error { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	err := json.Unmarshal([]byte(jsonconfig), log) | 	err := json.Unmarshal([]byte(jsonconfig), log) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return fmt.Errorf("Unable to parse JSON: %v", err) | 		return fmt.Errorf("Unable to parse JSON: %v", err) | ||||||
|   | |||||||
| @@ -10,10 +10,10 @@ import ( | |||||||
| 	"strings" | 	"strings" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/notification/base" | 	"code.gitea.io/gitea/modules/notification/base" | ||||||
| 	"code.gitea.io/gitea/modules/repository" | 	"code.gitea.io/gitea/modules/repository" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type actionNotifier struct { | type actionNotifier struct { | ||||||
| @@ -296,7 +296,6 @@ func (*actionNotifier) NotifyPullRevieweDismiss(doer *models.User, review *model | |||||||
| } | } | ||||||
|  |  | ||||||
| func (a *actionNotifier) NotifyPushCommits(pusher *models.User, repo *models.Repository, opts *repository.PushUpdateOptions, commits *repository.PushCommits) { | func (a *actionNotifier) NotifyPushCommits(pusher *models.User, repo *models.Repository, opts *repository.PushUpdateOptions, commits *repository.PushCommits) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	data, err := json.Marshal(commits) | 	data, err := json.Marshal(commits) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Error("Marshal: %v", err) | 		log.Error("Marshal: %v", err) | ||||||
| @@ -368,7 +367,6 @@ func (a *actionNotifier) NotifyDeleteRef(doer *models.User, repo *models.Reposit | |||||||
| } | } | ||||||
|  |  | ||||||
| func (a *actionNotifier) NotifySyncPushCommits(pusher *models.User, repo *models.Repository, opts *repository.PushUpdateOptions, commits *repository.PushCommits) { | func (a *actionNotifier) NotifySyncPushCommits(pusher *models.User, repo *models.Repository, opts *repository.PushUpdateOptions, commits *repository.PushCommits) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	data, err := json.Marshal(commits) | 	data, err := json.Marshal(commits) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Error("json.Marshal: %v", err) | 		log.Error("json.Marshal: %v", err) | ||||||
|   | |||||||
| @@ -6,15 +6,14 @@ package private | |||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"context" | 	"context" | ||||||
| 	"encoding/json" |  | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"net/http" | 	"net/http" | ||||||
| 	"net/url" | 	"net/url" | ||||||
| 	"strconv" | 	"strconv" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // Git environment variables | // Git environment variables | ||||||
| @@ -88,7 +87,6 @@ func HookPreReceive(ctx context.Context, ownerName, repoName string, opts HookOp | |||||||
| 	) | 	) | ||||||
| 	req := newInternalRequest(ctx, reqURL, "POST") | 	req := newInternalRequest(ctx, reqURL, "POST") | ||||||
| 	req = req.Header("Content-Type", "application/json") | 	req = req.Header("Content-Type", "application/json") | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	jsonBytes, _ := json.Marshal(opts) | 	jsonBytes, _ := json.Marshal(opts) | ||||||
| 	req.Body(jsonBytes) | 	req.Body(jsonBytes) | ||||||
| 	req.SetTimeout(60*time.Second, time.Duration(60+len(opts.OldCommitIDs))*time.Second) | 	req.SetTimeout(60*time.Second, time.Duration(60+len(opts.OldCommitIDs))*time.Second) | ||||||
| @@ -115,7 +113,6 @@ func HookPostReceive(ctx context.Context, ownerName, repoName string, opts HookO | |||||||
| 	req := newInternalRequest(ctx, reqURL, "POST") | 	req := newInternalRequest(ctx, reqURL, "POST") | ||||||
| 	req = req.Header("Content-Type", "application/json") | 	req = req.Header("Content-Type", "application/json") | ||||||
| 	req.SetTimeout(60*time.Second, time.Duration(60+len(opts.OldCommitIDs))*time.Second) | 	req.SetTimeout(60*time.Second, time.Duration(60+len(opts.OldCommitIDs))*time.Second) | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	jsonBytes, _ := json.Marshal(opts) | 	jsonBytes, _ := json.Marshal(opts) | ||||||
| 	req.Body(jsonBytes) | 	req.Body(jsonBytes) | ||||||
| 	resp, err := req.Response() | 	resp, err := req.Response() | ||||||
|   | |||||||
| @@ -12,8 +12,8 @@ import ( | |||||||
| 	"net/http" | 	"net/http" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/modules/httplib" | 	"code.gitea.io/gitea/modules/httplib" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func newRequest(ctx context.Context, url, method string) *httplib.Request { | func newRequest(ctx context.Context, url, method string) *httplib.Request { | ||||||
| @@ -30,7 +30,6 @@ type Response struct { | |||||||
|  |  | ||||||
| func decodeJSONError(resp *http.Response) *Response { | func decodeJSONError(resp *http.Response) *Response { | ||||||
| 	var res Response | 	var res Response | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	err := json.NewDecoder(resp.Body).Decode(&res) | 	err := json.NewDecoder(resp.Body).Decode(&res) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		res.Err = err.Error() | 		res.Err = err.Error() | ||||||
|   | |||||||
| @@ -10,8 +10,8 @@ import ( | |||||||
| 	"io/ioutil" | 	"io/ioutil" | ||||||
| 	"net/http" | 	"net/http" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // Email structure holds a data for sending general emails | // Email structure holds a data for sending general emails | ||||||
| @@ -33,7 +33,6 @@ func SendEmail(ctx context.Context, subject, message string, to []string) (int, | |||||||
|  |  | ||||||
| 	req := newInternalRequest(ctx, reqURL, "POST") | 	req := newInternalRequest(ctx, reqURL, "POST") | ||||||
| 	req = req.Header("Content-Type", "application/json") | 	req = req.Header("Content-Type", "application/json") | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	jsonBytes, _ := json.Marshal(Email{ | 	jsonBytes, _ := json.Marshal(Email{ | ||||||
| 		Subject: subject, | 		Subject: subject, | ||||||
| 		Message: message, | 		Message: message, | ||||||
|   | |||||||
| @@ -11,8 +11,8 @@ import ( | |||||||
| 	"net/url" | 	"net/url" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // Shutdown calls the internal shutdown function | // Shutdown calls the internal shutdown function | ||||||
| @@ -66,7 +66,6 @@ func FlushQueues(ctx context.Context, timeout time.Duration, nonBlocking bool) ( | |||||||
| 		req.SetTimeout(timeout+10*time.Second, timeout+10*time.Second) | 		req.SetTimeout(timeout+10*time.Second, timeout+10*time.Second) | ||||||
| 	} | 	} | ||||||
| 	req = req.Header("Content-Type", "application/json") | 	req = req.Header("Content-Type", "application/json") | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	jsonBytes, _ := json.Marshal(FlushOptions{ | 	jsonBytes, _ := json.Marshal(FlushOptions{ | ||||||
| 		Timeout:     timeout, | 		Timeout:     timeout, | ||||||
| 		NonBlocking: nonBlocking, | 		NonBlocking: nonBlocking, | ||||||
| @@ -153,7 +152,6 @@ func AddLogger(ctx context.Context, group, name, mode string, config map[string] | |||||||
|  |  | ||||||
| 	req := newInternalRequest(ctx, reqURL, "POST") | 	req := newInternalRequest(ctx, reqURL, "POST") | ||||||
| 	req = req.Header("Content-Type", "application/json") | 	req = req.Header("Content-Type", "application/json") | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	jsonBytes, _ := json.Marshal(LoggerOptions{ | 	jsonBytes, _ := json.Marshal(LoggerOptions{ | ||||||
| 		Group:  group, | 		Group:  group, | ||||||
| 		Name:   name, | 		Name:   name, | ||||||
|   | |||||||
| @@ -11,8 +11,8 @@ import ( | |||||||
| 	"net/http" | 	"net/http" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // RestoreParams structure holds a data for restore repository | // RestoreParams structure holds a data for restore repository | ||||||
| @@ -30,7 +30,6 @@ func RestoreRepo(ctx context.Context, repoDir, ownerName, repoName string, units | |||||||
| 	req := newInternalRequest(ctx, reqURL, "POST") | 	req := newInternalRequest(ctx, reqURL, "POST") | ||||||
| 	req.SetTimeout(3*time.Second, 0) // since the request will spend much time, don't timeout | 	req.SetTimeout(3*time.Second, 0) // since the request will spend much time, don't timeout | ||||||
| 	req = req.Header("Content-Type", "application/json") | 	req = req.Header("Content-Type", "application/json") | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	jsonBytes, _ := json.Marshal(RestoreParams{ | 	jsonBytes, _ := json.Marshal(RestoreParams{ | ||||||
| 		RepoDir:   repoDir, | 		RepoDir:   repoDir, | ||||||
| 		OwnerName: ownerName, | 		OwnerName: ownerName, | ||||||
|   | |||||||
| @@ -11,8 +11,8 @@ import ( | |||||||
| 	"net/url" | 	"net/url" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // KeyAndOwner is the response from ServNoCommand | // KeyAndOwner is the response from ServNoCommand | ||||||
| @@ -35,7 +35,6 @@ func ServNoCommand(ctx context.Context, keyID int64) (*models.PublicKey, *models | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	var keyAndOwner KeyAndOwner | 	var keyAndOwner KeyAndOwner | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if err := json.NewDecoder(resp.Body).Decode(&keyAndOwner); err != nil { | 	if err := json.NewDecoder(resp.Body).Decode(&keyAndOwner); err != nil { | ||||||
| 		return nil, nil, err | 		return nil, nil, err | ||||||
| 	} | 	} | ||||||
| @@ -91,7 +90,7 @@ func ServCommand(ctx context.Context, keyID int64, ownerName, repoName string, m | |||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| 	defer resp.Body.Close() | 	defer resp.Body.Close() | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if resp.StatusCode != http.StatusOK { | 	if resp.StatusCode != http.StatusOK { | ||||||
| 		var errServCommand ErrServCommand | 		var errServCommand ErrServCommand | ||||||
| 		if err := json.NewDecoder(resp.Body).Decode(&errServCommand); err != nil { | 		if err := json.NewDecoder(resp.Body).Decode(&errServCommand); err != nil { | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ package queue | |||||||
| import ( | import ( | ||||||
| 	"reflect" | 	"reflect" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // Mappable represents an interface that can MapTo another interface | // Mappable represents an interface that can MapTo another interface | ||||||
| @@ -20,8 +20,6 @@ type Mappable interface { | |||||||
| // It will tolerate the cfg being passed as a []byte or string of a json representation of the | // It will tolerate the cfg being passed as a []byte or string of a json representation of the | ||||||
| // exemplar or the correct type of the exemplar itself | // exemplar or the correct type of the exemplar itself | ||||||
| func toConfig(exemplar, cfg interface{}) (interface{}, error) { | func toConfig(exemplar, cfg interface{}) (interface{}, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
|  |  | ||||||
| 	// First of all check if we've got the same type as the exemplar - if so it's all fine. | 	// First of all check if we've got the same type as the exemplar - if so it's all fine. | ||||||
| 	if reflect.TypeOf(cfg).AssignableTo(reflect.TypeOf(exemplar)) { | 	if reflect.TypeOf(cfg).AssignableTo(reflect.TypeOf(exemplar)) { | ||||||
| 		return cfg, nil | 		return cfg, nil | ||||||
| @@ -48,7 +46,6 @@ func toConfig(exemplar, cfg interface{}) (interface{}, error) { | |||||||
| 	if !ok { | 	if !ok { | ||||||
| 		// hmm ... can we marshal it to json? | 		// hmm ... can we marshal it to json? | ||||||
| 		var err error | 		var err error | ||||||
|  |  | ||||||
| 		configBytes, err = json.Marshal(cfg) | 		configBytes, err = json.Marshal(cfg) | ||||||
| 		ok = err == nil | 		ok = err == nil | ||||||
| 	} | 	} | ||||||
| @@ -68,7 +65,6 @@ func toConfig(exemplar, cfg interface{}) (interface{}, error) { | |||||||
|  |  | ||||||
| // unmarshalAs will attempt to unmarshal provided bytes as the provided exemplar | // unmarshalAs will attempt to unmarshal provided bytes as the provided exemplar | ||||||
| func unmarshalAs(bs []byte, exemplar interface{}) (data Data, err error) { | func unmarshalAs(bs []byte, exemplar interface{}) (data Data, err error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if exemplar != nil { | 	if exemplar != nil { | ||||||
| 		t := reflect.TypeOf(exemplar) | 		t := reflect.TypeOf(exemplar) | ||||||
| 		n := reflect.New(t) | 		n := reflect.New(t) | ||||||
| @@ -78,7 +74,6 @@ func unmarshalAs(bs []byte, exemplar interface{}) (data Data, err error) { | |||||||
| 	} else { | 	} else { | ||||||
| 		err = json.Unmarshal(bs, &data) | 		err = json.Unmarshal(bs, &data) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -12,8 +12,8 @@ import ( | |||||||
| 	"sync" | 	"sync" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| var manager *Manager | var manager *Manager | ||||||
| @@ -110,7 +110,6 @@ func (m *Manager) Add(managed interface{}, | |||||||
| 	configuration, | 	configuration, | ||||||
| 	exemplar interface{}) int64 { | 	exemplar interface{}) int64 { | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	cfg, _ := json.Marshal(configuration) | 	cfg, _ := json.Marshal(configuration) | ||||||
| 	mq := &ManagedQueue{ | 	mq := &ManagedQueue{ | ||||||
| 		Type:          t, | 		Type:          t, | ||||||
|   | |||||||
| @@ -10,8 +10,8 @@ import ( | |||||||
| 	"sync" | 	"sync" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // ByteFIFOQueueConfiguration is the configuration for a ByteFIFOQueue | // ByteFIFOQueueConfiguration is the configuration for a ByteFIFOQueue | ||||||
| @@ -83,7 +83,6 @@ func (q *ByteFIFOQueue) PushFunc(data Data, fn func() error) error { | |||||||
| 	if !assignableTo(data, q.exemplar) { | 	if !assignableTo(data, q.exemplar) { | ||||||
| 		return fmt.Errorf("Unable to assign data: %v to same type as exemplar: %v in %s", data, q.exemplar, q.name) | 		return fmt.Errorf("Unable to assign data: %v to same type as exemplar: %v in %s", data, q.exemplar, q.name) | ||||||
| 	} | 	} | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	bs, err := json.Marshal(data) | 	bs, err := json.Marshal(data) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| @@ -309,7 +308,6 @@ func (q *ByteFIFOUniqueQueue) Has(data Data) (bool, error) { | |||||||
| 	if !assignableTo(data, q.exemplar) { | 	if !assignableTo(data, q.exemplar) { | ||||||
| 		return false, fmt.Errorf("Unable to assign data: %v to same type as exemplar: %v in %s", data, q.exemplar, q.name) | 		return false, fmt.Errorf("Unable to assign data: %v to same type as exemplar: %v in %s", data, q.exemplar, q.name) | ||||||
| 	} | 	} | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	bs, err := json.Marshal(data) | 	bs, err := json.Marshal(data) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return false, err | 		return false, err | ||||||
|   | |||||||
| @@ -7,7 +7,8 @@ package queue | |||||||
| import ( | import ( | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -29,8 +30,6 @@ func TestToConfig(t *testing.T) { | |||||||
| 	assert.True(t, ok) | 	assert.True(t, ok) | ||||||
| 	assert.NotEqual(t, cfg2, exemplar) | 	assert.NotEqual(t, cfg2, exemplar) | ||||||
| 	assert.Equal(t, &cfg, &cfg2) | 	assert.Equal(t, &cfg, &cfg2) | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	cfgString, err := json.Marshal(cfg) | 	cfgString, err := json.Marshal(cfg) | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -8,9 +8,9 @@ import ( | |||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"strings" | 	"strings" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func validType(t string) (Type, error) { | func validType(t string) (Type, error) { | ||||||
| @@ -27,8 +27,6 @@ func validType(t string) (Type, error) { | |||||||
|  |  | ||||||
| func getQueueSettings(name string) (setting.QueueSettings, []byte) { | func getQueueSettings(name string) (setting.QueueSettings, []byte) { | ||||||
| 	q := setting.GetQueueSettings(name) | 	q := setting.GetQueueSettings(name) | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	cfg, err := json.Marshal(q) | 	cfg, err := json.Marshal(q) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Error("Unable to marshall generic options: %v Error: %v", q, err) | 		log.Error("Unable to marshall generic options: %v Error: %v", q, err) | ||||||
|   | |||||||
| @@ -12,9 +12,9 @@ import ( | |||||||
| 	"net/url" | 	"net/url" | ||||||
| 	"strings" | 	"strings" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	"code.gitea.io/gitea/modules/util" | 	"code.gitea.io/gitea/modules/util" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // Response is the structure of JSON returned from API | // Response is the structure of JSON returned from API | ||||||
| @@ -50,8 +50,8 @@ func Verify(ctx context.Context, response string) (bool, error) { | |||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return false, fmt.Errorf("Failed to read CAPTCHA response: %s", err) | 		return false, fmt.Errorf("Failed to read CAPTCHA response: %s", err) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	var jsonResponse Response | 	var jsonResponse Response | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	err = json.Unmarshal(body, &jsonResponse) | 	err = json.Unmarshal(body, &jsonResponse) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return false, fmt.Errorf("Failed to parse CAPTCHA response: %s", err) | 		return false, fmt.Errorf("Failed to parse CAPTCHA response: %s", err) | ||||||
|   | |||||||
| @@ -8,12 +8,13 @@ import ( | |||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"sync" | 	"sync" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
|  |  | ||||||
| 	"gitea.com/go-chi/session" | 	"gitea.com/go-chi/session" | ||||||
| 	couchbase "gitea.com/go-chi/session/couchbase" | 	couchbase "gitea.com/go-chi/session/couchbase" | ||||||
| 	memcache "gitea.com/go-chi/session/memcache" | 	memcache "gitea.com/go-chi/session/memcache" | ||||||
| 	mysql "gitea.com/go-chi/session/mysql" | 	mysql "gitea.com/go-chi/session/mysql" | ||||||
| 	postgres "gitea.com/go-chi/session/postgres" | 	postgres "gitea.com/go-chi/session/postgres" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // VirtualSessionProvider represents a shadowed session provider implementation. | // VirtualSessionProvider represents a shadowed session provider implementation. | ||||||
| @@ -25,7 +26,6 @@ type VirtualSessionProvider struct { | |||||||
| // Init initializes the cookie session provider with given root path. | // Init initializes the cookie session provider with given root path. | ||||||
| func (o *VirtualSessionProvider) Init(gclifetime int64, config string) error { | func (o *VirtualSessionProvider) Init(gclifetime int64, config string) error { | ||||||
| 	var opts session.Options | 	var opts session.Options | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if err := json.Unmarshal([]byte(config), &opts); err != nil { | 	if err := json.Unmarshal([]byte(config), &opts); err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
|   | |||||||
| @@ -13,14 +13,13 @@ import ( | |||||||
| 	"strings" | 	"strings" | ||||||
| 	"sync" | 	"sync" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
|  |  | ||||||
| 	ini "gopkg.in/ini.v1" | 	ini "gopkg.in/ini.v1" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| var filenameSuffix = "" | var filenameSuffix = "" | ||||||
|  |  | ||||||
| var descriptionLock = sync.RWMutex{} | var descriptionLock = sync.RWMutex{} | ||||||
| var logDescriptions = make(map[string]*LogDescription) | var logDescriptions = make(map[string]*LogDescription) | ||||||
|  |  | ||||||
| @@ -203,8 +202,6 @@ func generateLogConfig(sec *ini.Section, name string, defaults defaultLogOptions | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	logConfig["colorize"] = sec.Key("COLORIZE").MustBool(false) | 	logConfig["colorize"] = sec.Key("COLORIZE").MustBool(false) | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	byteConfig, err := json.Marshal(logConfig) | 	byteConfig, err := json.Marshal(logConfig) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Error("Failed to marshal log configuration: %v %v", logConfig, err) | 		log.Error("Failed to marshal log configuration: %v %v", logConfig, err) | ||||||
|   | |||||||
| @@ -10,8 +10,8 @@ import ( | |||||||
| 	"path/filepath" | 	"path/filepath" | ||||||
| 	"strings" | 	"strings" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| @@ -65,8 +65,6 @@ func newSessionService() { | |||||||
| 	default: | 	default: | ||||||
| 		SessionConfig.SameSite = http.SameSiteLaxMode | 		SessionConfig.SameSite = http.SameSiteLaxMode | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	shadowConfig, err := json.Marshal(SessionConfig) | 	shadowConfig, err := json.Marshal(SessionConfig) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Fatal("Can't shadow session config: %v", err) | 		log.Fatal("Can't shadow session config: %v", err) | ||||||
|   | |||||||
| @@ -24,11 +24,11 @@ import ( | |||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/modules/generate" | 	"code.gitea.io/gitea/modules/generate" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/user" | 	"code.gitea.io/gitea/modules/user" | ||||||
| 	"code.gitea.io/gitea/modules/util" | 	"code.gitea.io/gitea/modules/util" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	shellquote "github.com/kballard/go-shellquote" | 	shellquote "github.com/kballard/go-shellquote" | ||||||
| 	"github.com/unknwon/com" | 	"github.com/unknwon/com" | ||||||
| 	gossh "golang.org/x/crypto/ssh" | 	gossh "golang.org/x/crypto/ssh" | ||||||
| @@ -1116,7 +1116,6 @@ func MakeManifestData(appName string, appURL string, absoluteAssetURL string) [] | |||||||
| 		Icons     []manifestIcon `json:"icons"` | 		Icons     []manifestIcon `json:"icons"` | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	bytes, err := json.Marshal(&manifestJSON{ | 	bytes, err := json.Marshal(&manifestJSON{ | ||||||
| 		Name:      appName, | 		Name:      appName, | ||||||
| 		ShortName: appName, | 		ShortName: appName, | ||||||
|   | |||||||
| @@ -7,7 +7,8 @@ package setting | |||||||
| import ( | import ( | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
|  |  | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -28,6 +29,5 @@ func TestMakeAbsoluteAssetURL(t *testing.T) { | |||||||
|  |  | ||||||
| func TestMakeManifestData(t *testing.T) { | func TestMakeManifestData(t *testing.T) { | ||||||
| 	jsonBytes := MakeManifestData(`Example App '\"`, "https://example.com", "https://example.com/foo/bar") | 	jsonBytes := MakeManifestData(`Example App '\"`, "https://example.com", "https://example.com/foo/bar") | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	assert.True(t, json.Valid(jsonBytes)) | 	assert.True(t, json.Valid(jsonBytes)) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ package storage | |||||||
| import ( | import ( | ||||||
| 	"reflect" | 	"reflect" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // Mappable represents an interface that can MapTo another interface | // Mappable represents an interface that can MapTo another interface | ||||||
| @@ -20,8 +20,6 @@ type Mappable interface { | |||||||
| // It will tolerate the cfg being passed as a []byte or string of a json representation of the | // It will tolerate the cfg being passed as a []byte or string of a json representation of the | ||||||
| // exemplar or the correct type of the exemplar itself | // exemplar or the correct type of the exemplar itself | ||||||
| func toConfig(exemplar, cfg interface{}) (interface{}, error) { | func toConfig(exemplar, cfg interface{}) (interface{}, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
|  |  | ||||||
| 	// First of all check if we've got the same type as the exemplar - if so it's all fine. | 	// First of all check if we've got the same type as the exemplar - if so it's all fine. | ||||||
| 	if reflect.TypeOf(cfg).AssignableTo(reflect.TypeOf(exemplar)) { | 	if reflect.TypeOf(cfg).AssignableTo(reflect.TypeOf(exemplar)) { | ||||||
| 		return cfg, nil | 		return cfg, nil | ||||||
| @@ -48,7 +46,6 @@ func toConfig(exemplar, cfg interface{}) (interface{}, error) { | |||||||
| 	if !ok { | 	if !ok { | ||||||
| 		// hmm ... can we marshal it to json? | 		// hmm ... can we marshal it to json? | ||||||
| 		var err error | 		var err error | ||||||
|  |  | ||||||
| 		configBytes, err = json.Marshal(cfg) | 		configBytes, err = json.Marshal(cfg) | ||||||
| 		ok = err == nil | 		ok = err == nil | ||||||
| 	} | 	} | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"strings" | 	"strings" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| @@ -132,14 +132,12 @@ type CreatePayload struct { | |||||||
|  |  | ||||||
| // JSONPayload return payload information | // JSONPayload return payload information | ||||||
| func (p *CreatePayload) JSONPayload() ([]byte, error) { | func (p *CreatePayload) JSONPayload() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.MarshalIndent(p, "", "  ") | 	return json.MarshalIndent(p, "", "  ") | ||||||
| } | } | ||||||
|  |  | ||||||
| // ParseCreateHook parses create event hook content. | // ParseCreateHook parses create event hook content. | ||||||
| func ParseCreateHook(raw []byte) (*CreatePayload, error) { | func ParseCreateHook(raw []byte) (*CreatePayload, error) { | ||||||
| 	hook := new(CreatePayload) | 	hook := new(CreatePayload) | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if err := json.Unmarshal(raw, hook); err != nil { | 	if err := json.Unmarshal(raw, hook); err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -183,7 +181,6 @@ type DeletePayload struct { | |||||||
|  |  | ||||||
| // JSONPayload implements Payload | // JSONPayload implements Payload | ||||||
| func (p *DeletePayload) JSONPayload() ([]byte, error) { | func (p *DeletePayload) JSONPayload() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.MarshalIndent(p, "", "  ") | 	return json.MarshalIndent(p, "", "  ") | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -203,7 +200,6 @@ type ForkPayload struct { | |||||||
|  |  | ||||||
| // JSONPayload implements Payload | // JSONPayload implements Payload | ||||||
| func (p *ForkPayload) JSONPayload() ([]byte, error) { | func (p *ForkPayload) JSONPayload() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.MarshalIndent(p, "", "  ") | 	return json.MarshalIndent(p, "", "  ") | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -230,7 +226,6 @@ type IssueCommentPayload struct { | |||||||
|  |  | ||||||
| // JSONPayload implements Payload | // JSONPayload implements Payload | ||||||
| func (p *IssueCommentPayload) JSONPayload() ([]byte, error) { | func (p *IssueCommentPayload) JSONPayload() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.MarshalIndent(p, "", "  ") | 	return json.MarshalIndent(p, "", "  ") | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -261,7 +256,6 @@ type ReleasePayload struct { | |||||||
|  |  | ||||||
| // JSONPayload implements Payload | // JSONPayload implements Payload | ||||||
| func (p *ReleasePayload) JSONPayload() ([]byte, error) { | func (p *ReleasePayload) JSONPayload() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.MarshalIndent(p, "", "  ") | 	return json.MarshalIndent(p, "", "  ") | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -287,14 +281,12 @@ type PushPayload struct { | |||||||
|  |  | ||||||
| // JSONPayload FIXME | // JSONPayload FIXME | ||||||
| func (p *PushPayload) JSONPayload() ([]byte, error) { | func (p *PushPayload) JSONPayload() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.MarshalIndent(p, "", "  ") | 	return json.MarshalIndent(p, "", "  ") | ||||||
| } | } | ||||||
|  |  | ||||||
| // ParsePushHook parses push event hook content. | // ParsePushHook parses push event hook content. | ||||||
| func ParsePushHook(raw []byte) (*PushPayload, error) { | func ParsePushHook(raw []byte) (*PushPayload, error) { | ||||||
| 	hook := new(PushPayload) | 	hook := new(PushPayload) | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if err := json.Unmarshal(raw, hook); err != nil { | 	if err := json.Unmarshal(raw, hook); err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -362,7 +354,6 @@ type IssuePayload struct { | |||||||
|  |  | ||||||
| // JSONPayload encodes the IssuePayload to JSON, with an indentation of two spaces. | // JSONPayload encodes the IssuePayload to JSON, with an indentation of two spaces. | ||||||
| func (p *IssuePayload) JSONPayload() ([]byte, error) { | func (p *IssuePayload) JSONPayload() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.MarshalIndent(p, "", "  ") | 	return json.MarshalIndent(p, "", "  ") | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -398,7 +389,6 @@ type PullRequestPayload struct { | |||||||
|  |  | ||||||
| // JSONPayload FIXME | // JSONPayload FIXME | ||||||
| func (p *PullRequestPayload) JSONPayload() ([]byte, error) { | func (p *PullRequestPayload) JSONPayload() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.MarshalIndent(p, "", "  ") | 	return json.MarshalIndent(p, "", "  ") | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -435,6 +425,5 @@ type RepositoryPayload struct { | |||||||
|  |  | ||||||
| // JSONPayload JSON representation of the payload | // JSONPayload JSON representation of the payload | ||||||
| func (p *RepositoryPayload) JSONPayload() ([]byte, error) { | func (p *RepositoryPayload) JSONPayload() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.MarshalIndent(p, "", " ") | 	return json.MarshalIndent(p, "", " ") | ||||||
| } | } | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ package structs | |||||||
| import ( | import ( | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // User represents a user | // User represents a user | ||||||
| @@ -56,7 +56,6 @@ type User struct { | |||||||
| func (u User) MarshalJSON() ([]byte, error) { | func (u User) MarshalJSON() ([]byte, error) { | ||||||
| 	// Re-declaring User to avoid recursion | 	// Re-declaring User to avoid recursion | ||||||
| 	type shadow User | 	type shadow User | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.Marshal(struct { | 	return json.Marshal(struct { | ||||||
| 		shadow | 		shadow | ||||||
| 		CompatUserName string `json:"username"` | 		CompatUserName string `json:"username"` | ||||||
|   | |||||||
| @@ -12,6 +12,7 @@ import ( | |||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/graceful" | 	"code.gitea.io/gitea/modules/graceful" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/migrations" | 	"code.gitea.io/gitea/modules/migrations" | ||||||
| 	migration "code.gitea.io/gitea/modules/migrations/base" | 	migration "code.gitea.io/gitea/modules/migrations/base" | ||||||
| @@ -20,7 +21,6 @@ import ( | |||||||
| 	"code.gitea.io/gitea/modules/structs" | 	"code.gitea.io/gitea/modules/structs" | ||||||
| 	"code.gitea.io/gitea/modules/timeutil" | 	"code.gitea.io/gitea/modules/timeutil" | ||||||
| 	"code.gitea.io/gitea/modules/util" | 	"code.gitea.io/gitea/modules/util" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func handleCreateError(owner *models.User, err error) error { | func handleCreateError(owner *models.User, err error) error { | ||||||
| @@ -112,7 +112,6 @@ func runMigrateTask(t *models.Task) (err error) { | |||||||
| 			Format: format, | 			Format: format, | ||||||
| 			Args:   args, | 			Args:   args, | ||||||
| 		} | 		} | ||||||
| 		json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 		bs, _ := json.Marshal(message) | 		bs, _ := json.Marshal(message) | ||||||
| 		t.Message = string(bs) | 		t.Message = string(bs) | ||||||
| 		_ = t.UpdateCols("message") | 		_ = t.UpdateCols("message") | ||||||
|   | |||||||
| @@ -9,6 +9,7 @@ import ( | |||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/graceful" | 	"code.gitea.io/gitea/modules/graceful" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/migrations/base" | 	"code.gitea.io/gitea/modules/migrations/base" | ||||||
| 	"code.gitea.io/gitea/modules/queue" | 	"code.gitea.io/gitea/modules/queue" | ||||||
| @@ -18,7 +19,6 @@ import ( | |||||||
| 	"code.gitea.io/gitea/modules/structs" | 	"code.gitea.io/gitea/modules/structs" | ||||||
| 	"code.gitea.io/gitea/modules/timeutil" | 	"code.gitea.io/gitea/modules/timeutil" | ||||||
| 	"code.gitea.io/gitea/modules/util" | 	"code.gitea.io/gitea/modules/util" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // taskQueue is a global queue of tasks | // taskQueue is a global queue of tasks | ||||||
| @@ -85,8 +85,6 @@ func CreateMigrateTask(doer, u *models.User, opts base.MigrateOptions) (*models. | |||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| 	opts.AuthToken = "" | 	opts.AuthToken = "" | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	bs, err := json.Marshal(&opts) | 	bs, err := json.Marshal(&opts) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
|   | |||||||
| @@ -8,7 +8,6 @@ package templates | |||||||
| import ( | import ( | ||||||
| 	"bytes" | 	"bytes" | ||||||
| 	"container/list" | 	"container/list" | ||||||
| 	"encoding/json" |  | ||||||
| 	"errors" | 	"errors" | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"html" | 	"html" | ||||||
| @@ -28,6 +27,7 @@ import ( | |||||||
| 	"code.gitea.io/gitea/modules/base" | 	"code.gitea.io/gitea/modules/base" | ||||||
| 	"code.gitea.io/gitea/modules/emoji" | 	"code.gitea.io/gitea/modules/emoji" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/markup" | 	"code.gitea.io/gitea/modules/markup" | ||||||
| 	"code.gitea.io/gitea/modules/repository" | 	"code.gitea.io/gitea/modules/repository" | ||||||
| @@ -38,7 +38,6 @@ import ( | |||||||
| 	"code.gitea.io/gitea/services/gitdiff" | 	"code.gitea.io/gitea/services/gitdiff" | ||||||
|  |  | ||||||
| 	"github.com/editorconfig/editorconfig-core-go/v2" | 	"github.com/editorconfig/editorconfig-core-go/v2" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // Used from static.go && dynamic.go | // Used from static.go && dynamic.go | ||||||
| @@ -46,7 +45,6 @@ var mailSubjectSplit = regexp.MustCompile(`(?m)^-{3,}[\s]*$`) | |||||||
|  |  | ||||||
| // NewFuncMap returns functions for injecting to templates | // NewFuncMap returns functions for injecting to templates | ||||||
| func NewFuncMap() []template.FuncMap { | func NewFuncMap() []template.FuncMap { | ||||||
| 	jsonED := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return []template.FuncMap{map[string]interface{}{ | 	return []template.FuncMap{map[string]interface{}{ | ||||||
| 		"GoVer": func() string { | 		"GoVer": func() string { | ||||||
| 			return strings.Title(runtime.Version()) | 			return strings.Title(runtime.Version()) | ||||||
| @@ -221,7 +219,7 @@ func NewFuncMap() []template.FuncMap { | |||||||
| 			return fmt.Sprintf("%f", float64(adds)/(float64(adds)+float64(dels))*100) | 			return fmt.Sprintf("%f", float64(adds)/(float64(adds)+float64(dels))*100) | ||||||
| 		}, | 		}, | ||||||
| 		"Json": func(in interface{}) string { | 		"Json": func(in interface{}) string { | ||||||
| 			out, err := jsonED.Marshal(in) | 			out, err := json.Marshal(in) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				return "" | 				return "" | ||||||
| 			} | 			} | ||||||
| @@ -847,7 +845,6 @@ func ActionContent2Commits(act Actioner) *repository.PushCommits { | |||||||
| 		return push | 		return push | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if err := json.Unmarshal([]byte(act.GetContent()), push); err != nil { | 	if err := json.Unmarshal([]byte(act.GetContent()), push); err != nil { | ||||||
| 		log.Error("json.Unmarshal:\n%s\nERROR: %v", act.GetContent(), err) | 		log.Error("json.Unmarshal:\n%s\nERROR: %v", act.GetContent(), err) | ||||||
| 	} | 	} | ||||||
|   | |||||||
| @@ -12,11 +12,11 @@ import ( | |||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/context" | 	"code.gitea.io/gitea/modules/context" | ||||||
| 	"code.gitea.io/gitea/modules/convert" | 	"code.gitea.io/gitea/modules/convert" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	"code.gitea.io/gitea/modules/util" | 	"code.gitea.io/gitea/modules/util" | ||||||
| 	"code.gitea.io/gitea/routers/utils" | 	"code.gitea.io/gitea/routers/utils" | ||||||
| 	"code.gitea.io/gitea/services/webhook" | 	"code.gitea.io/gitea/services/webhook" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // GetOrgHook get an organization's webhook. If there is an error, write to | // GetOrgHook get an organization's webhook. If there is an error, write to | ||||||
| @@ -147,7 +147,6 @@ func addHook(ctx *context.APIContext, form *api.CreateHookOption, orgID, repoID | |||||||
| 			return nil, false | 			return nil, false | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 		meta, err := json.Marshal(&webhook.SlackMeta{ | 		meta, err := json.Marshal(&webhook.SlackMeta{ | ||||||
| 			Channel:  strings.TrimSpace(channel), | 			Channel:  strings.TrimSpace(channel), | ||||||
| 			Username: form.Config["username"], | 			Username: form.Config["username"], | ||||||
| @@ -222,7 +221,6 @@ func editHook(ctx *context.APIContext, form *api.EditHookOption, w *models.Webho | |||||||
|  |  | ||||||
| 		if w.Type == models.SLACK { | 		if w.Type == models.SLACK { | ||||||
| 			if channel, ok := form.Config["channel"]; ok { | 			if channel, ok := form.Config["channel"]; ok { | ||||||
| 				json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 				meta, err := json.Marshal(&webhook.SlackMeta{ | 				meta, err := json.Marshal(&webhook.SlackMeta{ | ||||||
| 					Channel:  channel, | 					Channel:  channel, | ||||||
| 					Username: form.Config["username"], | 					Username: form.Config["username"], | ||||||
|   | |||||||
| @@ -11,11 +11,11 @@ import ( | |||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/context" | 	"code.gitea.io/gitea/modules/context" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/private" | 	"code.gitea.io/gitea/modules/private" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	"code.gitea.io/gitea/services/mailer" | 	"code.gitea.io/gitea/services/mailer" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // SendEmail pushes messages to mail queue | // SendEmail pushes messages to mail queue | ||||||
| @@ -32,7 +32,7 @@ func SendEmail(ctx *context.PrivateContext) { | |||||||
| 	var mail private.Email | 	var mail private.Email | ||||||
| 	rd := ctx.Req.Body | 	rd := ctx.Req.Body | ||||||
| 	defer rd.Close() | 	defer rd.Close() | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if err := json.NewDecoder(rd).Decode(&mail); err != nil { | 	if err := json.NewDecoder(rd).Decode(&mail); err != nil { | ||||||
| 		log.Error("%v", err) | 		log.Error("%v", err) | ||||||
| 		ctx.JSON(http.StatusInternalServerError, private.Response{ | 		ctx.JSON(http.StatusInternalServerError, private.Response{ | ||||||
|   | |||||||
| @@ -10,12 +10,12 @@ import ( | |||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/modules/context" | 	"code.gitea.io/gitea/modules/context" | ||||||
| 	"code.gitea.io/gitea/modules/graceful" | 	"code.gitea.io/gitea/modules/graceful" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/private" | 	"code.gitea.io/gitea/modules/private" | ||||||
| 	"code.gitea.io/gitea/modules/queue" | 	"code.gitea.io/gitea/modules/queue" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	"code.gitea.io/gitea/modules/web" | 	"code.gitea.io/gitea/modules/web" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // FlushQueues flushes all the Queues | // FlushQueues flushes all the Queues | ||||||
| @@ -130,7 +130,6 @@ func AddLogger(ctx *context.PrivateContext) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	bufferLen := setting.Cfg.Section("log").Key("BUFFER_LEN").MustInt64(10000) | 	bufferLen := setting.Cfg.Section("log").Key("BUFFER_LEN").MustInt64(10000) | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	byteConfig, err := json.Marshal(opts.Config) | 	byteConfig, err := json.Marshal(opts.Config) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Error("Failed to marshal log configuration: %v %v", opts.Config, err) | 		log.Error("Failed to marshal log configuration: %v %v", opts.Config, err) | ||||||
|   | |||||||
| @@ -9,14 +9,13 @@ import ( | |||||||
| 	"net/http" | 	"net/http" | ||||||
|  |  | ||||||
| 	myCtx "code.gitea.io/gitea/modules/context" | 	myCtx "code.gitea.io/gitea/modules/context" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/migrations" | 	"code.gitea.io/gitea/modules/migrations" | ||||||
| 	"code.gitea.io/gitea/modules/private" | 	"code.gitea.io/gitea/modules/private" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // RestoreRepo restore a repository from data | // RestoreRepo restore a repository from data | ||||||
| func RestoreRepo(ctx *myCtx.PrivateContext) { | func RestoreRepo(ctx *myCtx.PrivateContext) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	bs, err := ioutil.ReadAll(ctx.Req.Body) | 	bs, err := ioutil.ReadAll(ctx.Req.Body) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		ctx.JSON(http.StatusInternalServerError, private.Response{ | 		ctx.JSON(http.StatusInternalServerError, private.Response{ | ||||||
|   | |||||||
| @@ -20,6 +20,7 @@ import ( | |||||||
| 	"code.gitea.io/gitea/modules/context" | 	"code.gitea.io/gitea/modules/context" | ||||||
| 	"code.gitea.io/gitea/modules/cron" | 	"code.gitea.io/gitea/modules/cron" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/process" | 	"code.gitea.io/gitea/modules/process" | ||||||
| 	"code.gitea.io/gitea/modules/queue" | 	"code.gitea.io/gitea/modules/queue" | ||||||
| @@ -28,7 +29,6 @@ import ( | |||||||
| 	"code.gitea.io/gitea/modules/web" | 	"code.gitea.io/gitea/modules/web" | ||||||
| 	"code.gitea.io/gitea/services/forms" | 	"code.gitea.io/gitea/services/forms" | ||||||
| 	"code.gitea.io/gitea/services/mailer" | 	"code.gitea.io/gitea/services/mailer" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
|  |  | ||||||
| 	"gitea.com/go-chi/session" | 	"gitea.com/go-chi/session" | ||||||
| ) | ) | ||||||
| @@ -275,7 +275,6 @@ func Config(ctx *context.Context) { | |||||||
| 	sessionCfg := setting.SessionConfig | 	sessionCfg := setting.SessionConfig | ||||||
| 	if sessionCfg.Provider == "VirtualSession" { | 	if sessionCfg.Provider == "VirtualSession" { | ||||||
| 		var realSession session.Options | 		var realSession session.Options | ||||||
| 		json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 		if err := json.Unmarshal([]byte(sessionCfg.ProviderConfig), &realSession); err != nil { | 		if err := json.Unmarshal([]byte(sessionCfg.ProviderConfig), &realSession); err != nil { | ||||||
| 			log.Error("Unable to unmarshall session config for virtualed provider config: %s\nError: %v", sessionCfg.ProviderConfig, err) | 			log.Error("Unable to unmarshall session config for virtualed provider config: %s\nError: %v", sessionCfg.ProviderConfig, err) | ||||||
| 		} | 		} | ||||||
|   | |||||||
| @@ -13,10 +13,10 @@ import ( | |||||||
| 	"code.gitea.io/gitea/modules/convert" | 	"code.gitea.io/gitea/modules/convert" | ||||||
| 	"code.gitea.io/gitea/modules/eventsource" | 	"code.gitea.io/gitea/modules/eventsource" | ||||||
| 	"code.gitea.io/gitea/modules/graceful" | 	"code.gitea.io/gitea/modules/graceful" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	"code.gitea.io/gitea/routers/web/user" | 	"code.gitea.io/gitea/routers/web/user" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // Events listens for events | // Events listens for events | ||||||
| @@ -103,7 +103,6 @@ loop: | |||||||
| 				log.Error("Unable to APIFormat stopwatches: %v", err) | 				log.Error("Unable to APIFormat stopwatches: %v", err) | ||||||
| 				continue | 				continue | ||||||
| 			} | 			} | ||||||
| 			json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 			dataBs, err := json.Marshal(apiSWs) | 			dataBs, err := json.Marshal(apiSWs) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				log.Error("Unable to marshal stopwatches: %v", err) | 				log.Error("Unable to marshal stopwatches: %v", err) | ||||||
|   | |||||||
| @@ -16,6 +16,7 @@ import ( | |||||||
| 	"code.gitea.io/gitea/modules/charset" | 	"code.gitea.io/gitea/modules/charset" | ||||||
| 	"code.gitea.io/gitea/modules/context" | 	"code.gitea.io/gitea/modules/context" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/repofiles" | 	"code.gitea.io/gitea/modules/repofiles" | ||||||
| 	repo_module "code.gitea.io/gitea/modules/repository" | 	repo_module "code.gitea.io/gitea/modules/repository" | ||||||
| @@ -26,7 +27,6 @@ import ( | |||||||
| 	"code.gitea.io/gitea/modules/web" | 	"code.gitea.io/gitea/modules/web" | ||||||
| 	"code.gitea.io/gitea/routers/utils" | 	"code.gitea.io/gitea/routers/utils" | ||||||
| 	"code.gitea.io/gitea/services/forms" | 	"code.gitea.io/gitea/services/forms" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| const ( | const ( | ||||||
| @@ -165,7 +165,6 @@ func GetEditorConfig(ctx *context.Context, treePath string) string { | |||||||
| 	if err == nil { | 	if err == nil { | ||||||
| 		def, err := ec.GetDefinitionForFilename(treePath) | 		def, err := ec.GetDefinitionForFilename(treePath) | ||||||
| 		if err == nil { | 		if err == nil { | ||||||
| 			json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 			jsonStr, _ := json.Marshal(def) | 			jsonStr, _ := json.Marshal(def) | ||||||
| 			return string(jsonStr) | 			return string(jsonStr) | ||||||
| 		} | 		} | ||||||
|   | |||||||
| @@ -17,13 +17,13 @@ import ( | |||||||
| 	"code.gitea.io/gitea/modules/context" | 	"code.gitea.io/gitea/modules/context" | ||||||
| 	"code.gitea.io/gitea/modules/convert" | 	"code.gitea.io/gitea/modules/convert" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	"code.gitea.io/gitea/modules/util" | 	"code.gitea.io/gitea/modules/util" | ||||||
| 	"code.gitea.io/gitea/modules/web" | 	"code.gitea.io/gitea/modules/web" | ||||||
| 	"code.gitea.io/gitea/services/forms" | 	"code.gitea.io/gitea/services/forms" | ||||||
| 	"code.gitea.io/gitea/services/webhook" | 	"code.gitea.io/gitea/services/webhook" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| const ( | const ( | ||||||
| @@ -306,7 +306,6 @@ func DiscordHooksNewPost(ctx *context.Context) { | |||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	meta, err := json.Marshal(&webhook.DiscordMeta{ | 	meta, err := json.Marshal(&webhook.DiscordMeta{ | ||||||
| 		Username: form.Username, | 		Username: form.Username, | ||||||
| 		IconURL:  form.IconURL, | 		IconURL:  form.IconURL, | ||||||
| @@ -402,7 +401,6 @@ func TelegramHooksNewPost(ctx *context.Context) { | |||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	meta, err := json.Marshal(&webhook.TelegramMeta{ | 	meta, err := json.Marshal(&webhook.TelegramMeta{ | ||||||
| 		BotToken: form.BotToken, | 		BotToken: form.BotToken, | ||||||
| 		ChatID:   form.ChatID, | 		ChatID:   form.ChatID, | ||||||
| @@ -455,7 +453,6 @@ func MatrixHooksNewPost(ctx *context.Context) { | |||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	meta, err := json.Marshal(&webhook.MatrixMeta{ | 	meta, err := json.Marshal(&webhook.MatrixMeta{ | ||||||
| 		HomeserverURL: form.HomeserverURL, | 		HomeserverURL: form.HomeserverURL, | ||||||
| 		Room:          form.RoomID, | 		Room:          form.RoomID, | ||||||
| @@ -560,7 +557,6 @@ func SlackHooksNewPost(ctx *context.Context) { | |||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	meta, err := json.Marshal(&webhook.SlackMeta{ | 	meta, err := json.Marshal(&webhook.SlackMeta{ | ||||||
| 		Channel:  strings.TrimSpace(form.Channel), | 		Channel:  strings.TrimSpace(form.Channel), | ||||||
| 		Username: form.Username, | 		Username: form.Username, | ||||||
| @@ -848,7 +844,6 @@ func SlackHooksEditPost(ctx *context.Context) { | |||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	meta, err := json.Marshal(&webhook.SlackMeta{ | 	meta, err := json.Marshal(&webhook.SlackMeta{ | ||||||
| 		Channel:  strings.TrimSpace(form.Channel), | 		Channel:  strings.TrimSpace(form.Channel), | ||||||
| 		Username: form.Username, | 		Username: form.Username, | ||||||
| @@ -894,7 +889,6 @@ func DiscordHooksEditPost(ctx *context.Context) { | |||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	meta, err := json.Marshal(&webhook.DiscordMeta{ | 	meta, err := json.Marshal(&webhook.DiscordMeta{ | ||||||
| 		Username: form.Username, | 		Username: form.Username, | ||||||
| 		IconURL:  form.IconURL, | 		IconURL:  form.IconURL, | ||||||
| @@ -970,7 +964,7 @@ func TelegramHooksEditPost(ctx *context.Context) { | |||||||
| 		ctx.HTML(http.StatusOK, orCtx.NewTemplate) | 		ctx.HTML(http.StatusOK, orCtx.NewTemplate) | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	meta, err := json.Marshal(&webhook.TelegramMeta{ | 	meta, err := json.Marshal(&webhook.TelegramMeta{ | ||||||
| 		BotToken: form.BotToken, | 		BotToken: form.BotToken, | ||||||
| 		ChatID:   form.ChatID, | 		ChatID:   form.ChatID, | ||||||
| @@ -1012,7 +1006,7 @@ func MatrixHooksEditPost(ctx *context.Context) { | |||||||
| 		ctx.HTML(http.StatusOK, orCtx.NewTemplate) | 		ctx.HTML(http.StatusOK, orCtx.NewTemplate) | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	meta, err := json.Marshal(&webhook.MatrixMeta{ | 	meta, err := json.Marshal(&webhook.MatrixMeta{ | ||||||
| 		HomeserverURL: form.HomeserverURL, | 		HomeserverURL: form.HomeserverURL, | ||||||
| 		Room:          form.RoomID, | 		Room:          form.RoomID, | ||||||
|   | |||||||
| @@ -18,6 +18,7 @@ import ( | |||||||
| 	"code.gitea.io/gitea/modules/base" | 	"code.gitea.io/gitea/modules/base" | ||||||
| 	"code.gitea.io/gitea/modules/context" | 	"code.gitea.io/gitea/modules/context" | ||||||
| 	issue_indexer "code.gitea.io/gitea/modules/indexer/issues" | 	issue_indexer "code.gitea.io/gitea/modules/indexer/issues" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/markup" | 	"code.gitea.io/gitea/modules/markup" | ||||||
| 	"code.gitea.io/gitea/modules/markup/markdown" | 	"code.gitea.io/gitea/modules/markup/markdown" | ||||||
| @@ -26,7 +27,6 @@ import ( | |||||||
| 	issue_service "code.gitea.io/gitea/services/issue" | 	issue_service "code.gitea.io/gitea/services/issue" | ||||||
| 	pull_service "code.gitea.io/gitea/services/pull" | 	pull_service "code.gitea.io/gitea/services/pull" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	"github.com/keybase/go-crypto/openpgp" | 	"github.com/keybase/go-crypto/openpgp" | ||||||
| 	"github.com/keybase/go-crypto/openpgp/armor" | 	"github.com/keybase/go-crypto/openpgp/armor" | ||||||
| 	"xorm.io/builder" | 	"xorm.io/builder" | ||||||
| @@ -703,7 +703,6 @@ func buildIssueOverview(ctx *context.Context, unitType models.UnitType) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// Convert []int64 to string | 	// Convert []int64 to string | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	reposParam, _ := json.Marshal(repoIDs) | 	reposParam, _ := json.Marshal(repoIDs) | ||||||
|  |  | ||||||
| 	ctx.Data["ReposParam"] = string(reposParam) | 	ctx.Data["ReposParam"] = string(reposParam) | ||||||
|   | |||||||
| @@ -15,6 +15,7 @@ import ( | |||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/base" | 	"code.gitea.io/gitea/modules/base" | ||||||
| 	"code.gitea.io/gitea/modules/context" | 	"code.gitea.io/gitea/modules/context" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	"code.gitea.io/gitea/modules/timeutil" | 	"code.gitea.io/gitea/modules/timeutil" | ||||||
| @@ -25,7 +26,6 @@ import ( | |||||||
|  |  | ||||||
| 	"gitea.com/go-chi/binding" | 	"gitea.com/go-chi/binding" | ||||||
| 	"github.com/golang-jwt/jwt" | 	"github.com/golang-jwt/jwt" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| const ( | const ( | ||||||
| @@ -507,7 +507,7 @@ func OIDCKeys(ctx *context.Context) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	ctx.Resp.Header().Set("Content-Type", "application/json") | 	ctx.Resp.Header().Set("Content-Type", "application/json") | ||||||
| 	enc := jsoniter.NewEncoder(ctx.Resp) | 	enc := json.NewEncoder(ctx.Resp) | ||||||
| 	if err := enc.Encode(jwks); err != nil { | 	if err := enc.Encode(jwks); err != nil { | ||||||
| 		log.Error("Failed to encode representation as json. Error: %v", err) | 		log.Error("Failed to encode representation as json. Error: %v", err) | ||||||
| 	} | 	} | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ import ( | |||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/context" | 	"code.gitea.io/gitea/modules/context" | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // TaskStatus returns task's status | // TaskStatus returns task's status | ||||||
| @@ -26,7 +26,6 @@ func TaskStatus(ctx *context.Context) { | |||||||
|  |  | ||||||
| 	if task.Message != "" && task.Message[0] == '{' { | 	if task.Message != "" && task.Message[0] == '{' { | ||||||
| 		// assume message is actually a translatable string | 		// assume message is actually a translatable string | ||||||
| 		json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 		var translatableMessage models.TranslatableMessage | 		var translatableMessage models.TranslatableMessage | ||||||
| 		if err := json.Unmarshal([]byte(message), &translatableMessage); err != nil { | 		if err := json.Unmarshal([]byte(message), &translatableMessage); err != nil { | ||||||
| 			translatableMessage = models.TranslatableMessage{ | 			translatableMessage = models.TranslatableMessage{ | ||||||
|   | |||||||
| @@ -8,10 +8,9 @@ import ( | |||||||
| 	"strings" | 	"strings" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/secret" | 	"code.gitea.io/gitea/modules/secret" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // .____     ________      _____ __________ | // .____     ________      _____ __________ | ||||||
| @@ -79,7 +78,6 @@ func (source *Source) ToDB() ([]byte, error) { | |||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| 	source.BindPassword = "" | 	source.BindPassword = "" | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.Marshal(source) | 	return json.Marshal(source) | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -6,8 +6,7 @@ package oauth2 | |||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // ________      _____          __  .__     ________ | // ________      _____          __  .__     ________ | ||||||
| @@ -37,7 +36,6 @@ func (source *Source) FromDB(bs []byte) error { | |||||||
|  |  | ||||||
| // ToDB exports an SMTPConfig to a serialized format. | // ToDB exports an SMTPConfig to a serialized format. | ||||||
| func (source *Source) ToDB() ([]byte, error) { | func (source *Source) ToDB() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.Marshal(source) | 	return json.Marshal(source) | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -6,8 +6,7 @@ package pam | |||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // __________  _____      _____ | // __________  _____      _____ | ||||||
| @@ -33,7 +32,6 @@ func (source *Source) FromDB(bs []byte) error { | |||||||
|  |  | ||||||
| // ToDB exports a PAMConfig to a serialized format. | // ToDB exports a PAMConfig to a serialized format. | ||||||
| func (source *Source) ToDB() ([]byte, error) { | func (source *Source) ToDB() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.Marshal(source) | 	return json.Marshal(source) | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -6,8 +6,7 @@ package smtp | |||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| //   _________   __________________________ | //   _________   __________________________ | ||||||
| @@ -37,7 +36,6 @@ func (source *Source) FromDB(bs []byte) error { | |||||||
|  |  | ||||||
| // ToDB exports an SMTPConfig to a serialized format. | // ToDB exports an SMTPConfig to a serialized format. | ||||||
| func (source *Source) ToDB() ([]byte, error) { | func (source *Source) ToDB() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.Marshal(source) | 	return json.Marshal(source) | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -6,7 +6,7 @@ package sspi | |||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	jsoniter "github.com/json-iterator/go" | 	"code.gitea.io/gitea/modules/json" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| //   _________ ___________________.___ | //   _________ ___________________.___ | ||||||
| @@ -32,7 +32,6 @@ func (cfg *Source) FromDB(bs []byte) error { | |||||||
|  |  | ||||||
| // ToDB exports an SSPIConfig to a serialized format. | // ToDB exports an SSPIConfig to a serialized format. | ||||||
| func (cfg *Source) ToDB() ([]byte, error) { | func (cfg *Source) ToDB() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	return json.Marshal(cfg) | 	return json.Marshal(cfg) | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -14,8 +14,9 @@ import ( | |||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/highlight" | 	"code.gitea.io/gitea/modules/highlight" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	dmp "github.com/sergi/go-diff/diffmatchpatch" | 	dmp "github.com/sergi/go-diff/diffmatchpatch" | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| 	"gopkg.in/ini.v1" | 	"gopkg.in/ini.v1" | ||||||
| @@ -297,7 +298,7 @@ index 6961180..9ba1a00 100644 | |||||||
| 				t.Errorf("ParsePatch(%q) error = %v, wantErr %v", testcase.name, err, testcase.wantErr) | 				t.Errorf("ParsePatch(%q) error = %v, wantErr %v", testcase.name, err, testcase.wantErr) | ||||||
| 				return | 				return | ||||||
| 			} | 			} | ||||||
| 			json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 			gotMarshaled, _ := json.MarshalIndent(got, "", "  ") | 			gotMarshaled, _ := json.MarshalIndent(got, "", "  ") | ||||||
| 			if got.NumFiles != 1 { | 			if got.NumFiles != 1 { | ||||||
| 				t.Errorf("ParsePath(%q) did not receive 1 file:\n%s", testcase.name, string(gotMarshaled)) | 				t.Errorf("ParsePath(%q) did not receive 1 file:\n%s", testcase.name, string(gotMarshaled)) | ||||||
|   | |||||||
| @@ -12,11 +12,11 @@ import ( | |||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/context" | 	"code.gitea.io/gitea/modules/context" | ||||||
| 	"code.gitea.io/gitea/modules/convert" | 	"code.gitea.io/gitea/modules/convert" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	lfs_module "code.gitea.io/gitea/modules/lfs" | 	lfs_module "code.gitea.io/gitea/modules/lfs" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func handleLockListOut(ctx *context.Context, repo *models.Repository, lock *models.LFSLock, err error) { | func handleLockListOut(ctx *context.Context, repo *models.Repository, lock *models.LFSLock, err error) { | ||||||
| @@ -159,7 +159,7 @@ func PostLockHandler(ctx *context.Context) { | |||||||
| 	var req api.LFSLockRequest | 	var req api.LFSLockRequest | ||||||
| 	bodyReader := ctx.Req.Body | 	bodyReader := ctx.Req.Body | ||||||
| 	defer bodyReader.Close() | 	defer bodyReader.Close() | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	dec := json.NewDecoder(bodyReader) | 	dec := json.NewDecoder(bodyReader) | ||||||
| 	if err := dec.Decode(&req); err != nil { | 	if err := dec.Decode(&req); err != nil { | ||||||
| 		log.Warn("Failed to decode lock request as json. Error: %v", err) | 		log.Warn("Failed to decode lock request as json. Error: %v", err) | ||||||
| @@ -293,7 +293,7 @@ func UnLockHandler(ctx *context.Context) { | |||||||
| 	var req api.LFSLockDeleteRequest | 	var req api.LFSLockDeleteRequest | ||||||
| 	bodyReader := ctx.Req.Body | 	bodyReader := ctx.Req.Body | ||||||
| 	defer bodyReader.Close() | 	defer bodyReader.Close() | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	dec := json.NewDecoder(bodyReader) | 	dec := json.NewDecoder(bodyReader) | ||||||
| 	if err := dec.Decode(&req); err != nil { | 	if err := dec.Decode(&req); err != nil { | ||||||
| 		log.Warn("Failed to decode lock request as json. Error: %v", err) | 		log.Warn("Failed to decode lock request as json. Error: %v", err) | ||||||
|   | |||||||
| @@ -17,12 +17,12 @@ import ( | |||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/context" | 	"code.gitea.io/gitea/modules/context" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	lfs_module "code.gitea.io/gitea/modules/lfs" | 	lfs_module "code.gitea.io/gitea/modules/lfs" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
|  |  | ||||||
| 	"github.com/golang-jwt/jwt" | 	"github.com/golang-jwt/jwt" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // requestContext contain variables from the HTTP request. | // requestContext contain variables from the HTTP request. | ||||||
| @@ -243,7 +243,7 @@ func BatchHandler(ctx *context.Context) { | |||||||
|  |  | ||||||
| 	ctx.Resp.Header().Set("Content-Type", lfs_module.MediaType) | 	ctx.Resp.Header().Set("Content-Type", lfs_module.MediaType) | ||||||
|  |  | ||||||
| 	enc := jsoniter.NewEncoder(ctx.Resp) | 	enc := json.NewEncoder(ctx.Resp) | ||||||
| 	if err := enc.Encode(respobj); err != nil { | 	if err := enc.Encode(respobj); err != nil { | ||||||
| 		log.Error("Failed to encode representation as json. Error: %v", err) | 		log.Error("Failed to encode representation as json. Error: %v", err) | ||||||
| 	} | 	} | ||||||
| @@ -336,7 +336,7 @@ func VerifyHandler(ctx *context.Context) { | |||||||
| func decodeJSON(req *http.Request, v interface{}) error { | func decodeJSON(req *http.Request, v interface{}) error { | ||||||
| 	defer req.Body.Close() | 	defer req.Body.Close() | ||||||
|  |  | ||||||
| 	dec := jsoniter.NewDecoder(req.Body) | 	dec := json.NewDecoder(req.Body) | ||||||
| 	return dec.Decode(v) | 	return dec.Decode(v) | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -429,7 +429,7 @@ func writeStatusMessage(ctx *context.Context, status int, message string) { | |||||||
|  |  | ||||||
| 	er := lfs_module.ErrorResponse{Message: message} | 	er := lfs_module.ErrorResponse{Message: message} | ||||||
|  |  | ||||||
| 	enc := jsoniter.NewEncoder(ctx.Resp) | 	enc := json.NewEncoder(ctx.Resp) | ||||||
| 	if err := enc.Encode(er); err != nil { | 	if err := enc.Encode(er); err != nil { | ||||||
| 		log.Error("Failed to encode error response as json. Error: %v", err) | 		log.Error("Failed to encode error response as json. Error: %v", err) | ||||||
| 	} | 	} | ||||||
|   | |||||||
| @@ -16,11 +16,11 @@ import ( | |||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
| 	"code.gitea.io/gitea/modules/graceful" | 	"code.gitea.io/gitea/modules/graceful" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/notification" | 	"code.gitea.io/gitea/modules/notification" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	issue_service "code.gitea.io/gitea/services/issue" | 	issue_service "code.gitea.io/gitea/services/issue" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // NewPullRequest creates new pull request with labels for repository. | // NewPullRequest creates new pull request with labels for repository. | ||||||
| @@ -86,7 +86,6 @@ func NewPullRequest(repo *models.Repository, pull *models.Issue, labelIDs []int6 | |||||||
| 			data.CommitIDs = append(data.CommitIDs, e.Value.(*git.Commit).ID.String()) | 			data.CommitIDs = append(data.CommitIDs, e.Value.(*git.Commit).ID.String()) | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 		dataJSON, err := json.Marshal(data) | 		dataJSON, err := json.Marshal(data) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			return err | 			return err | ||||||
|   | |||||||
| @@ -10,9 +10,9 @@ import ( | |||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
|  |  | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| 	dingtalk "github.com/lunny/dingtalk_webhook" | 	dingtalk "github.com/lunny/dingtalk_webhook" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -27,7 +27,6 @@ var ( | |||||||
|  |  | ||||||
| // JSONPayload Marshals the DingtalkPayload to json | // JSONPayload Marshals the DingtalkPayload to json | ||||||
| func (d *DingtalkPayload) JSONPayload() ([]byte, error) { | func (d *DingtalkPayload) JSONPayload() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	data, err := json.MarshalIndent(d, "", "  ") | 	data, err := json.MarshalIndent(d, "", "  ") | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return []byte{}, err | 		return []byte{}, err | ||||||
|   | |||||||
| @@ -12,10 +12,10 @@ import ( | |||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type ( | type ( | ||||||
| @@ -68,7 +68,6 @@ type ( | |||||||
| // GetDiscordHook returns discord metadata | // GetDiscordHook returns discord metadata | ||||||
| func GetDiscordHook(w *models.Webhook) *DiscordMeta { | func GetDiscordHook(w *models.Webhook) *DiscordMeta { | ||||||
| 	s := &DiscordMeta{} | 	s := &DiscordMeta{} | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if err := json.Unmarshal([]byte(w.Meta), s); err != nil { | 	if err := json.Unmarshal([]byte(w.Meta), s); err != nil { | ||||||
| 		log.Error("webhook.GetDiscordHook(%d): %v", w.ID, err) | 		log.Error("webhook.GetDiscordHook(%d): %v", w.ID, err) | ||||||
| 	} | 	} | ||||||
| @@ -99,7 +98,6 @@ var ( | |||||||
|  |  | ||||||
| // JSONPayload Marshals the DiscordPayload to json | // JSONPayload Marshals the DiscordPayload to json | ||||||
| func (d *DiscordPayload) JSONPayload() ([]byte, error) { | func (d *DiscordPayload) JSONPayload() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	data, err := json.MarshalIndent(d, "", "  ") | 	data, err := json.MarshalIndent(d, "", "  ") | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return []byte{}, err | 		return []byte{}, err | ||||||
| @@ -250,7 +248,6 @@ func GetDiscordPayload(p api.Payloader, event models.HookEventType, meta string) | |||||||
| 	s := new(DiscordPayload) | 	s := new(DiscordPayload) | ||||||
|  |  | ||||||
| 	discord := &DiscordMeta{} | 	discord := &DiscordMeta{} | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if err := json.Unmarshal([]byte(meta), &discord); err != nil { | 	if err := json.Unmarshal([]byte(meta), &discord); err != nil { | ||||||
| 		return s, errors.New("GetDiscordPayload meta json:" + err.Error()) | 		return s, errors.New("GetDiscordPayload meta json:" + err.Error()) | ||||||
| 	} | 	} | ||||||
|   | |||||||
| @@ -10,8 +10,8 @@ import ( | |||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type ( | type ( | ||||||
| @@ -37,7 +37,6 @@ func newFeishuTextPayload(text string) *FeishuPayload { | |||||||
|  |  | ||||||
| // JSONPayload Marshals the FeishuPayload to json | // JSONPayload Marshals the FeishuPayload to json | ||||||
| func (f *FeishuPayload) JSONPayload() ([]byte, error) { | func (f *FeishuPayload) JSONPayload() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	data, err := json.MarshalIndent(f, "", "  ") | 	data, err := json.MarshalIndent(f, "", "  ") | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return []byte{}, err | 		return []byte{}, err | ||||||
|   | |||||||
| @@ -15,10 +15,10 @@ import ( | |||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| const matrixPayloadSizeLimit = 1024 * 64 | const matrixPayloadSizeLimit = 1024 * 64 | ||||||
| @@ -39,7 +39,6 @@ var messageTypeText = map[int]string{ | |||||||
| // GetMatrixHook returns Matrix metadata | // GetMatrixHook returns Matrix metadata | ||||||
| func GetMatrixHook(w *models.Webhook) *MatrixMeta { | func GetMatrixHook(w *models.Webhook) *MatrixMeta { | ||||||
| 	s := &MatrixMeta{} | 	s := &MatrixMeta{} | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if err := json.Unmarshal([]byte(w.Meta), s); err != nil { | 	if err := json.Unmarshal([]byte(w.Meta), s); err != nil { | ||||||
| 		log.Error("webhook.GetMatrixHook(%d): %v", w.ID, err) | 		log.Error("webhook.GetMatrixHook(%d): %v", w.ID, err) | ||||||
| 	} | 	} | ||||||
| @@ -78,7 +77,6 @@ type MatrixPayloadSafe struct { | |||||||
|  |  | ||||||
| // JSONPayload Marshals the MatrixPayloadUnsafe to json | // JSONPayload Marshals the MatrixPayloadUnsafe to json | ||||||
| func (m *MatrixPayloadUnsafe) JSONPayload() ([]byte, error) { | func (m *MatrixPayloadUnsafe) JSONPayload() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	data, err := json.MarshalIndent(m, "", "  ") | 	data, err := json.MarshalIndent(m, "", "  ") | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return []byte{}, err | 		return []byte{}, err | ||||||
| @@ -228,7 +226,6 @@ func GetMatrixPayload(p api.Payloader, event models.HookEventType, meta string) | |||||||
| 	s := new(MatrixPayloadUnsafe) | 	s := new(MatrixPayloadUnsafe) | ||||||
|  |  | ||||||
| 	matrix := &MatrixMeta{} | 	matrix := &MatrixMeta{} | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if err := json.Unmarshal([]byte(meta), &matrix); err != nil { | 	if err := json.Unmarshal([]byte(meta), &matrix); err != nil { | ||||||
| 		return s, errors.New("GetMatrixPayload meta json:" + err.Error()) | 		return s, errors.New("GetMatrixPayload meta json:" + err.Error()) | ||||||
| 	} | 	} | ||||||
| @@ -262,7 +259,6 @@ func getMessageBody(htmlText string) string { | |||||||
| // The access_token is removed from t.PayloadContent | // The access_token is removed from t.PayloadContent | ||||||
| func getMatrixHookRequest(w *models.Webhook, t *models.HookTask) (*http.Request, error) { | func getMatrixHookRequest(w *models.Webhook, t *models.HookTask) (*http.Request, error) { | ||||||
| 	payloadunsafe := MatrixPayloadUnsafe{} | 	payloadunsafe := MatrixPayloadUnsafe{} | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if err := json.Unmarshal([]byte(t.PayloadContent), &payloadunsafe); err != nil { | 	if err := json.Unmarshal([]byte(t.PayloadContent), &payloadunsafe); err != nil { | ||||||
| 		log.Error("Matrix Hook delivery failed: %v", err) | 		log.Error("Matrix Hook delivery failed: %v", err) | ||||||
| 		return nil, err | 		return nil, err | ||||||
|   | |||||||
| @@ -10,8 +10,8 @@ import ( | |||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type ( | type ( | ||||||
| @@ -57,7 +57,6 @@ type ( | |||||||
|  |  | ||||||
| // JSONPayload Marshals the MSTeamsPayload to json | // JSONPayload Marshals the MSTeamsPayload to json | ||||||
| func (m *MSTeamsPayload) JSONPayload() ([]byte, error) { | func (m *MSTeamsPayload) JSONPayload() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	data, err := json.MarshalIndent(m, "", "  ") | 	data, err := json.MarshalIndent(m, "", "  ") | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return []byte{}, err | 		return []byte{}, err | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ import ( | |||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/setting" | 	"code.gitea.io/gitea/modules/setting" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // SlackMeta contains the slack metadata | // SlackMeta contains the slack metadata | ||||||
| @@ -28,7 +28,6 @@ type SlackMeta struct { | |||||||
| // GetSlackHook returns slack metadata | // GetSlackHook returns slack metadata | ||||||
| func GetSlackHook(w *models.Webhook) *SlackMeta { | func GetSlackHook(w *models.Webhook) *SlackMeta { | ||||||
| 	s := &SlackMeta{} | 	s := &SlackMeta{} | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if err := json.Unmarshal([]byte(w.Meta), s); err != nil { | 	if err := json.Unmarshal([]byte(w.Meta), s); err != nil { | ||||||
| 		log.Error("webhook.GetSlackHook(%d): %v", w.ID, err) | 		log.Error("webhook.GetSlackHook(%d): %v", w.ID, err) | ||||||
| 	} | 	} | ||||||
| @@ -58,7 +57,6 @@ type SlackAttachment struct { | |||||||
|  |  | ||||||
| // JSONPayload Marshals the SlackPayload to json | // JSONPayload Marshals the SlackPayload to json | ||||||
| func (s *SlackPayload) JSONPayload() ([]byte, error) { | func (s *SlackPayload) JSONPayload() ([]byte, error) { | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	data, err := json.MarshalIndent(s, "", "  ") | 	data, err := json.MarshalIndent(s, "", "  ") | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return []byte{}, err | 		return []byte{}, err | ||||||
| @@ -279,7 +277,6 @@ func GetSlackPayload(p api.Payloader, event models.HookEventType, meta string) ( | |||||||
| 	s := new(SlackPayload) | 	s := new(SlackPayload) | ||||||
|  |  | ||||||
| 	slack := &SlackMeta{} | 	slack := &SlackMeta{} | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if err := json.Unmarshal([]byte(meta), &slack); err != nil { | 	if err := json.Unmarshal([]byte(meta), &slack); err != nil { | ||||||
| 		return s, errors.New("GetSlackPayload meta json:" + err.Error()) | 		return s, errors.New("GetSlackPayload meta json:" + err.Error()) | ||||||
| 	} | 	} | ||||||
|   | |||||||
| @@ -10,10 +10,10 @@ import ( | |||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/markup" | 	"code.gitea.io/gitea/modules/markup" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| 	jsoniter "github.com/json-iterator/go" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type ( | type ( | ||||||
| @@ -34,7 +34,6 @@ type ( | |||||||
| // GetTelegramHook returns telegram metadata | // GetTelegramHook returns telegram metadata | ||||||
| func GetTelegramHook(w *models.Webhook) *TelegramMeta { | func GetTelegramHook(w *models.Webhook) *TelegramMeta { | ||||||
| 	s := &TelegramMeta{} | 	s := &TelegramMeta{} | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	if err := json.Unmarshal([]byte(w.Meta), s); err != nil { | 	if err := json.Unmarshal([]byte(w.Meta), s); err != nil { | ||||||
| 		log.Error("webhook.GetTelegramHook(%d): %v", w.ID, err) | 		log.Error("webhook.GetTelegramHook(%d): %v", w.ID, err) | ||||||
| 	} | 	} | ||||||
| @@ -50,7 +49,6 @@ func (t *TelegramPayload) JSONPayload() ([]byte, error) { | |||||||
| 	t.ParseMode = "HTML" | 	t.ParseMode = "HTML" | ||||||
| 	t.DisableWebPreview = true | 	t.DisableWebPreview = true | ||||||
| 	t.Message = markup.Sanitize(t.Message) | 	t.Message = markup.Sanitize(t.Message) | ||||||
| 	json := jsoniter.ConfigCompatibleWithStandardLibrary |  | ||||||
| 	data, err := json.MarshalIndent(t, "", "  ") | 	data, err := json.MarshalIndent(t, "", "  ") | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return []byte{}, err | 		return []byte{}, err | ||||||
|   | |||||||
| @@ -5,12 +5,12 @@ | |||||||
| package webhook | package webhook | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"encoding/json" |  | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"strings" | 	"strings" | ||||||
|  |  | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
| 	"code.gitea.io/gitea/modules/git" | 	"code.gitea.io/gitea/modules/git" | ||||||
|  | 	"code.gitea.io/gitea/modules/json" | ||||||
| 	api "code.gitea.io/gitea/modules/structs" | 	api "code.gitea.io/gitea/modules/structs" | ||||||
| ) | ) | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user