Migrate to use jsoniter instead of encoding/json (#14841)

* Migrate to use jsoniter

* fix tests

* update gitea.com/go-chi/binding

Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: 6543 <6543@obermui.de>
This commit is contained in:
zeripath 2021-03-01 21:08:10 +00:00 committed by GitHub
parent 59fd641d1f
commit f0e15250b9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
77 changed files with 264 additions and 82 deletions

View file

@ -5,7 +5,6 @@
package setting
import (
"encoding/json"
"fmt"
golog "log"
"os"
@ -15,6 +14,7 @@ import (
"sync"
"code.gitea.io/gitea/modules/log"
jsoniter "github.com/json-iterator/go"
ini "gopkg.in/ini.v1"
)
@ -205,6 +205,7 @@ func generateLogConfig(sec *ini.Section, name string, defaults defaultLogOptions
logConfig["colorize"] = sec.Key("COLORIZE").MustBool(false)
json := jsoniter.ConfigCompatibleWithStandardLibrary
byteConfig, err := json.Marshal(logConfig)
if err != nil {
log.Error("Failed to marshal log configuration: %v %v", logConfig, err)

View file

@ -5,12 +5,12 @@
package setting
import (
"encoding/json"
"path"
"path/filepath"
"strings"
"code.gitea.io/gitea/modules/log"
jsoniter "github.com/json-iterator/go"
)
var (
@ -53,6 +53,7 @@ func newSessionService() {
SessionConfig.Maxlifetime = sec.Key("SESSION_LIFE_TIME").MustInt64(86400)
SessionConfig.Domain = sec.Key("DOMAIN").String()
json := jsoniter.ConfigCompatibleWithStandardLibrary
shadowConfig, err := json.Marshal(SessionConfig)
if err != nil {
log.Fatal("Can't shadow session config: %v", err)

View file

@ -7,7 +7,6 @@ package setting
import (
"encoding/base64"
"encoding/json"
"fmt"
"io"
"io/ioutil"
@ -28,6 +27,7 @@ import (
"code.gitea.io/gitea/modules/user"
"code.gitea.io/gitea/modules/util"
jsoniter "github.com/json-iterator/go"
shellquote "github.com/kballard/go-shellquote"
"github.com/unknwon/com"
gossh "golang.org/x/crypto/ssh"
@ -1111,6 +1111,7 @@ func MakeManifestData(appName string, appURL string, absoluteAssetURL string) []
Icons []manifestIcon `json:"icons"`
}
json := jsoniter.ConfigCompatibleWithStandardLibrary
bytes, err := json.Marshal(&manifestJSON{
Name: appName,
ShortName: appName,

View file

@ -5,9 +5,9 @@
package setting
import (
"encoding/json"
"testing"
jsoniter "github.com/json-iterator/go"
"github.com/stretchr/testify/assert"
)
@ -28,5 +28,6 @@ func TestMakeAbsoluteAssetURL(t *testing.T) {
func TestMakeManifestData(t *testing.T) {
jsonBytes := MakeManifestData(`Example App '\"`, "https://example.com", "https://example.com/foo/bar")
json := jsoniter.ConfigCompatibleWithStandardLibrary
assert.True(t, json.Valid(jsonBytes))
}