diff --git a/pkg/cmd/rds/deploy/commands.go b/pkg/cmd/rds/deploy/commands.go index 2014289..4770dae 100644 --- a/pkg/cmd/rds/deploy/commands.go +++ b/pkg/cmd/rds/deploy/commands.go @@ -2,6 +2,7 @@ package deploy import ( "fmt" + jsoniter "github.com/json-iterator/go" "io" "os" "strings" @@ -81,6 +82,8 @@ var DeployCommands = []*cli.Command{ url := fmt.Sprintf("/webhooks/sync/%s", ctx.Args().Get(1)) client := fiber.Put(server.Url+url). + JSONEncoder(jsoniter.ConfigCompatibleWithStandardLibrary.Marshal). + JSONDecoder(jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal). JSON(site). BasicAuth("RoadSign CLI", server.Credential) diff --git a/pkg/sign/transformers/compress.go b/pkg/sign/transformers/compress.go index 671ee3a..5e8d3b1 100644 --- a/pkg/sign/transformers/compress.go +++ b/pkg/sign/transformers/compress.go @@ -8,7 +8,7 @@ import ( var CompressResponse = RequestTransformer{ ModifyResponse: func(options any, ctx *fiber.Ctx) error { opts := DeserializeOptions[struct { - Level int `json:"level"` + Level int `json:"level" yaml:"level"` }](options) var fctx = func(c *fasthttp.RequestCtx) {} diff --git a/pkg/sign/transformers/replace_path.go b/pkg/sign/transformers/replace_path.go index 8ffd35f..8dc4d65 100644 --- a/pkg/sign/transformers/replace_path.go +++ b/pkg/sign/transformers/replace_path.go @@ -9,10 +9,10 @@ import ( var ReplacePath = RequestTransformer{ ModifyRequest: func(options any, ctx *fiber.Ctx) error { opts := DeserializeOptions[struct { - Pattern string `json:"pattern"` - Value string `json:"value"` - Repl string `json:"repl"` // Use when complex mode(regexp) enabled - Complex bool `json:"complex"` + Pattern string `json:"pattern" yaml:"pattern"` + Value string `json:"value" yaml:"value"` + Repl string `json:"repl" yaml:"repl"` // Use when complex mode(regexp) enabled + Complex bool `json:"complex" yaml:"complex"` }](options) path := string(ctx.Request().URI().Path()) if !opts.Complex { diff --git a/pkg/sign/upstream.go b/pkg/sign/upstream.go index 02dd1cd..6dcd810 100644 --- a/pkg/sign/upstream.go +++ b/pkg/sign/upstream.go @@ -35,7 +35,8 @@ func (v *UpstreamConfig) GetType() string { func (v *UpstreamConfig) GetRawURI() (string, url.Values) { uri := strings.SplitN(v.URI, "://", 2)[1] data := strings.SplitN(uri, "?", 2) - qs, _ := url.ParseQuery(data[1]) + data = append(data, " ") // Make data array least have two element + qs, _ := url.ParseQuery(data[0]) return data[0], qs }