Skip to content

Commit ca5b6fa

Browse files
committed
chore(*): use sonic wrapper instead
Signed-off-by: Dwi Siswanto <[email protected]>
1 parent 885fe5b commit ca5b6fa

File tree

43 files changed

+121
-126
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+121
-126
lines changed

cmd/integration-test/fuzz.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ import (
66
"net/http/httptest"
77
"net/url"
88

9-
"github.com/bytedance/sonic"
109
"github.com/julienschmidt/httprouter"
1110
"github.com/projectdiscovery/nuclei/v3/pkg/output"
1211
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
12+
"github.com/projectdiscovery/nuclei/v3/pkg/utils/json"
1313
)
1414

1515
const (
@@ -87,7 +87,7 @@ func (h *fuzzModeOverride) Execute(filePath string) error {
8787
return err
8888
}
8989
var event output.ResultEvent
90-
err = sonic.Unmarshal([]byte(results[0]), &event)
90+
err = json.Unmarshal([]byte(results[0]), &event)
9191
if err != nil {
9292
return fmt.Errorf("could not unmarshal event: %s", err)
9393
}
@@ -132,7 +132,7 @@ func (h *fuzzTypeOverride) Execute(filePath string) error {
132132
return err
133133
}
134134
var event output.ResultEvent
135-
err = sonic.Unmarshal([]byte(results[0]), &event)
135+
err = json.Unmarshal([]byte(results[0]), &event)
136136
if err != nil {
137137
return fmt.Errorf("could not unmarshal event: %s", err)
138138
}

cmd/integration-test/matcher-status.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import (
44
"fmt"
55
"strings"
66

7-
"github.com/bytedance/sonic"
87
"github.com/projectdiscovery/nuclei/v3/pkg/output"
98
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
9+
"github.com/projectdiscovery/nuclei/v3/pkg/utils/json"
1010
)
1111

1212
var matcherStatusTestcases = []TestCaseInfo{
@@ -26,7 +26,7 @@ func (h *httpNoAccess) Execute(filePath string) error {
2626
return err
2727
}
2828
event := &output.ResultEvent{}
29-
_ = sonic.Unmarshal([]byte(results[0]), event)
29+
_ = json.Unmarshal([]byte(results[0]), event)
3030
expectedError := "no address found for host"
3131
if !strings.Contains(event.Error, expectedError) {
3232
return fmt.Errorf("unexpected result: expecting \"%s\" error but got \"%s\"", expectedError, event.Error)
@@ -43,7 +43,7 @@ func (h *networkNoAccess) Execute(filePath string) error {
4343
return err
4444
}
4545
event := &output.ResultEvent{}
46-
_ = sonic.Unmarshal([]byte(results[0]), event)
46+
_ = json.Unmarshal([]byte(results[0]), event)
4747

4848
if event.Error != "no address found for host" {
4949
return fmt.Errorf("unexpected result: expecting \"no address found for host\" error but got \"%s\"", event.Error)
@@ -60,7 +60,7 @@ func (h *headlessNoAccess) Execute(filePath string) error {
6060
return err
6161
}
6262
event := &output.ResultEvent{}
63-
_ = sonic.Unmarshal([]byte(results[0]), event)
63+
_ = json.Unmarshal([]byte(results[0]), event)
6464

6565
if event.Error == "" {
6666
return fmt.Errorf("unexpected result: expecting an error but got \"%s\"", event.Error)
@@ -77,7 +77,7 @@ func (h *javascriptNoAccess) Execute(filePath string) error {
7777
return err
7878
}
7979
event := &output.ResultEvent{}
80-
_ = sonic.Unmarshal([]byte(results[0]), event)
80+
_ = json.Unmarshal([]byte(results[0]), event)
8181

8282
if event.Error == "" {
8383
return fmt.Errorf("unexpected result: expecting an error but got \"%s\"", event.Error)
@@ -94,7 +94,7 @@ func (h *websocketNoAccess) Execute(filePath string) error {
9494
return err
9595
}
9696
event := &output.ResultEvent{}
97-
_ = sonic.Unmarshal([]byte(results[0]), event)
97+
_ = json.Unmarshal([]byte(results[0]), event)
9898

9999
if event.Error == "" {
100100
return fmt.Errorf("unexpected result: expecting an error but got \"%s\"", event.Error)
@@ -111,7 +111,7 @@ func (h *dnsNoAccess) Execute(filePath string) error {
111111
return err
112112
}
113113
event := &output.ResultEvent{}
114-
_ = sonic.Unmarshal([]byte(results[0]), event)
114+
_ = json.Unmarshal([]byte(results[0]), event)
115115

116116
if event.Error == "" {
117117
return fmt.Errorf("unexpected result: expecting an error but got \"%s\"", event.Error)

internal/pdcp/writer.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ import (
1212
"sync/atomic"
1313
"time"
1414

15-
"github.com/bytedance/sonic"
1615
"github.com/projectdiscovery/gologger"
1716
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/config"
1817
"github.com/projectdiscovery/nuclei/v3/pkg/output"
18+
"github.com/projectdiscovery/nuclei/v3/pkg/utils/json"
1919
"github.com/projectdiscovery/retryablehttp-go"
2020
pdcpauth "github.com/projectdiscovery/utils/auth/pdcp"
2121
"github.com/projectdiscovery/utils/env"
@@ -222,7 +222,7 @@ func (u *UploadWriter) upload(data []byte) error {
222222
return fmt.Errorf("could not upload results got status code %v on %v", resp.StatusCode, resp.Request.URL.String())
223223
}
224224
var uploadResp uploadResponse
225-
if err := sonic.Unmarshal(bin, &uploadResp); err != nil {
225+
if err := json.Unmarshal(bin, &uploadResp); err != nil {
226226
return errorutil.NewWithErr(err).Msgf("could not unmarshal response got %v", string(bin))
227227
}
228228
if uploadResp.ID != "" && u.scanID == "" {

internal/runner/runner.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@ import (
1212
"sync/atomic"
1313
"time"
1414

15-
"github.com/bytedance/sonic"
1615
"github.com/projectdiscovery/nuclei/v3/internal/pdcp"
1716
"github.com/projectdiscovery/nuclei/v3/pkg/authprovider"
1817
"github.com/projectdiscovery/nuclei/v3/pkg/fuzz/frequency"
1918
"github.com/projectdiscovery/nuclei/v3/pkg/input/provider"
2019
"github.com/projectdiscovery/nuclei/v3/pkg/installer"
2120
"github.com/projectdiscovery/nuclei/v3/pkg/loader/parser"
2221
"github.com/projectdiscovery/nuclei/v3/pkg/scan/events"
22+
"github.com/projectdiscovery/nuclei/v3/pkg/utils/json"
2323
uncoverlib "github.com/projectdiscovery/uncover"
2424
pdcpauth "github.com/projectdiscovery/utils/auth/pdcp"
2525
"github.com/projectdiscovery/utils/env"
@@ -288,7 +288,7 @@ func New(options *types.Options) (*Runner, error) {
288288
if err != nil {
289289
return nil, err
290290
}
291-
err = sonic.Unmarshal(file, &resumeCfg)
291+
err = json.Unmarshal(file, &resumeCfg)
292292
if err != nil {
293293
return nil, err
294294
}
@@ -795,7 +795,7 @@ func (r *Runner) SaveResumeConfig(path string) error {
795795
}
796796
resumeCfgClone := r.resumeCfg.Clone()
797797
resumeCfgClone.ResumeFrom = resumeCfgClone.Current
798-
data, _ := sonic.MarshalIndent(resumeCfgClone, "", "\t")
798+
data, _ := json.MarshalIndent(resumeCfgClone, "", "\t")
799799

800800
return os.WriteFile(path, data, permissionutil.ConfigFilePermission)
801801
}
@@ -830,7 +830,7 @@ func UploadResultsToCloud(options *types.Options) error {
830830
defer file.Close()
831831

832832
gologger.Info().Msgf("Uploading scan results to cloud dashboard from %s", options.ScanUploadFile)
833-
dec := sonic.ConfigStd.NewDecoder(file)
833+
dec := json.NewDecoder(file)
834834
for dec.More() {
835835
var r output.ResultEvent
836836
err := dec.Decode(&r)

pkg/authprovider/authx/dynamic.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
package authx
22

33
import (
4-
"encoding/json"
54
"fmt"
65
"strings"
76
"sync"
87

9-
"github.com/bytedance/sonic"
108
"github.com/projectdiscovery/gologger"
119
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/replacer"
10+
"github.com/projectdiscovery/nuclei/v3/pkg/utils/json"
1211
errorutil "github.com/projectdiscovery/utils/errors"
1312
)
1413

@@ -35,11 +34,11 @@ type Dynamic struct {
3534
}
3635

3736
func (d *Dynamic) UnmarshalJSON(data []byte) error {
38-
if err := sonic.Unmarshal(data, &d); err != nil {
37+
if err := json.Unmarshal(data, &d); err != nil {
3938
return err
4039
}
4140
var s Secret
42-
if err := sonic.Unmarshal(data, &s); err != nil {
41+
if err := json.Unmarshal(data, &s); err != nil {
4342
return err
4443
}
4544
d.Secret = s

pkg/authprovider/authx/file.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"regexp"
88
"strings"
99

10-
"github.com/bytedance/sonic"
10+
"github.com/projectdiscovery/nuclei/v3/pkg/utils/json"
1111
errorutil "github.com/projectdiscovery/utils/errors"
1212
"github.com/projectdiscovery/utils/generic"
1313
stringsutil "github.com/projectdiscovery/utils/strings"
@@ -245,7 +245,7 @@ func GetAuthDataFromYAML(data []byte) (*Authx, error) {
245245
// GetAuthDataFromJSON reads the auth data from json
246246
func GetAuthDataFromJSON(data []byte) (*Authx, error) {
247247
var auth Authx
248-
err := sonic.Unmarshal(data, &auth)
248+
err := json.Unmarshal(data, &auth)
249249
if err != nil {
250250
return nil, errorutil.NewWithErr(err).Msgf("could not unmarshal json")
251251
}

pkg/catalog/config/nucleiconfig.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import (
99
"path/filepath"
1010
"strings"
1111

12-
"github.com/bytedance/sonic"
1312
"github.com/projectdiscovery/goflags"
1413
"github.com/projectdiscovery/gologger"
14+
"github.com/projectdiscovery/nuclei/v3/pkg/utils/json"
1515
"github.com/projectdiscovery/utils/env"
1616
errorutil "github.com/projectdiscovery/utils/errors"
1717
fileutil "github.com/projectdiscovery/utils/file"
@@ -261,7 +261,7 @@ func (c *Config) ReadTemplatesConfig() error {
261261
if err != nil {
262262
return errorutil.NewWithErr(err).Msgf("could not read nuclei config file at %s", c.getTemplatesConfigFilePath())
263263
}
264-
if err := sonic.Unmarshal(bin, &cfg); err != nil {
264+
if err := json.Unmarshal(bin, &cfg); err != nil {
265265
return errorutil.NewWithErr(err).Msgf("could not unmarshal nuclei config file at %s", c.getTemplatesConfigFilePath())
266266
}
267267
// apply config
@@ -279,7 +279,7 @@ func (c *Config) WriteTemplatesConfig() error {
279279
if err := c.createConfigDirIfNotExists(); err != nil {
280280
return err
281281
}
282-
bin, err := sonic.Marshal(c)
282+
bin, err := json.Marshal(c)
283283
if err != nil {
284284
return errorutil.NewWithErr(err).Msgf("failed to marshal nuclei config")
285285
}

pkg/fuzz/execute.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ import (
66
"regexp"
77
"strings"
88

9-
"github.com/bytedance/sonic"
109
"github.com/pkg/errors"
1110
"github.com/projectdiscovery/gologger"
1211
"github.com/projectdiscovery/nuclei/v3/pkg/fuzz/component"
1312
"github.com/projectdiscovery/nuclei/v3/pkg/protocols"
1413
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/contextargs"
1514
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/expressions"
1615
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/generators"
16+
"github.com/projectdiscovery/nuclei/v3/pkg/utils/json"
1717
"github.com/projectdiscovery/retryablehttp-go"
1818
errorutil "github.com/projectdiscovery/utils/errors"
1919
mapsutil "github.com/projectdiscovery/utils/maps"
@@ -125,7 +125,7 @@ func (rule *Rule) Execute(input *ExecuteRuleInput) (err error) {
125125
finalComponentList = append(finalComponentList, component)
126126
}
127127
if len(displayDebugFuzzPoints) > 0 {
128-
marshalled, _ := sonic.MarshalIndent(displayDebugFuzzPoints, "", " ")
128+
marshalled, _ := json.MarshalIndent(displayDebugFuzzPoints, "", " ")
129129
gologger.Info().Msgf("[%s] Fuzz points for %s [%s]\n%s\n", rule.options.TemplateID, input.Input.MetaInput.Input, input.BaseRequest.Method, string(marshalled))
130130
}
131131

pkg/fuzz/type.go

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
package fuzz
22

33
import (
4-
"encoding/json"
54
"fmt"
65

7-
"github.com/bytedance/sonic"
86
"github.com/invopop/jsonschema"
7+
"github.com/projectdiscovery/nuclei/v3/pkg/utils/json"
98
mapsutil "github.com/projectdiscovery/utils/maps"
109
"gopkg.in/yaml.v2"
1110
)
1211

1312
var (
14-
_ json.Marshaler = &SliceOrMapSlice{}
15-
_ json.Unmarshaler = &SliceOrMapSlice{}
13+
_ json.JSONCodec = &SliceOrMapSlice{}
1614
_ yaml.Marshaler = &SliceOrMapSlice{}
1715
_ yaml.Unmarshaler = &SliceOrMapSlice{}
1816
)
@@ -71,25 +69,25 @@ func (v SliceOrMapSlice) JSONSchema() *jsonschema.Schema {
7169
return gotType
7270
}
7371

74-
// UnmarshalJSON implements sonic.Unmarshaler interface.
72+
// UnmarshalJSON implements json.Unmarshaler interface.
7573
func (v *SliceOrMapSlice) UnmarshalJSON(data []byte) error {
7674
// try to unmashal as a string and fallback to map
77-
if err := sonic.Unmarshal(data, &v.Value); err == nil {
75+
if err := json.Unmarshal(data, &v.Value); err == nil {
7876
return nil
7977
}
80-
err := sonic.Unmarshal(data, &v.KV)
78+
err := json.Unmarshal(data, &v.KV)
8179
if err != nil {
8280
return fmt.Errorf("object can be a key:value or a string")
8381
}
8482
return nil
8583
}
8684

87-
// MarshalJSON implements sonic.Marshaler interface.
85+
// MarshalJSON implements json.Marshaler interface.
8886
func (v SliceOrMapSlice) MarshalJSON() ([]byte, error) {
8987
if v.KV != nil {
90-
return sonic.Marshal(v.KV)
88+
return json.Marshal(v.KV)
9189
}
92-
return sonic.Marshal(v.Value)
90+
return json.Marshal(v.Value)
9391
}
9492

9593
// UnmarshalYAML implements yaml.Unmarshaler interface.

pkg/input/formats/openapi/generator.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import (
1111
"os"
1212
"strings"
1313

14-
"github.com/bytedance/sonic"
1514
"github.com/clbanning/mxj/v2"
1615
"github.com/getkin/kin-openapi/openapi3"
1716
"github.com/pkg/errors"
@@ -20,6 +19,7 @@ import (
2019
"github.com/projectdiscovery/nuclei/v3/pkg/input/formats"
2120
httpTypes "github.com/projectdiscovery/nuclei/v3/pkg/input/types"
2221
"github.com/projectdiscovery/nuclei/v3/pkg/types"
22+
"github.com/projectdiscovery/nuclei/v3/pkg/utils/json"
2323
errorutil "github.com/projectdiscovery/utils/errors"
2424
"github.com/projectdiscovery/utils/generic"
2525
mapsutil "github.com/projectdiscovery/utils/maps"
@@ -276,7 +276,7 @@ func generateRequestsFromOp(opts *generateReqOptions) error {
276276
// var body string
277277
switch content {
278278
case "application/json":
279-
if marshalled, err := sonic.Marshal(example); err == nil {
279+
if marshalled, err := json.Marshal(example); err == nil {
280280
// body = string(marshalled)
281281
cloned.Body = io.NopCloser(bytes.NewReader(marshalled))
282282
cloned.ContentLength = int64(len(marshalled))

0 commit comments

Comments
 (0)