use cbor instead of json to avoid double base64

This commit is contained in:
Shelikhoo 2025-01-29 13:16:21 +00:00
parent 6e0bc74fb8
commit 33b3891648
No known key found for this signature in database
GPG key ID: 4C9764E9FE80A3DC
3 changed files with 10 additions and 2 deletions

View file

@ -9,6 +9,8 @@ import (
"encoding/json"
"fmt"
"github.com/fxamacker/cbor"
"gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2/common/bridgefingerprint"
"gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2/common/nat"
)
@ -159,7 +161,7 @@ type ClientConnectionMetadata struct {
}
func (meta *ClientConnectionMetadata) EncodeConnectionMetadata() (string, error) {
jsonData, err := json.Marshal(meta)
jsonData, err := cbor.Marshal(meta, cbor.CanonicalEncOptions())
if err != nil {
return "", err
}
@ -174,7 +176,7 @@ func DecodeConnectionMetadata(data string) (*ClientConnectionMetadata, error) {
}
var meta ClientConnectionMetadata
err = json.Unmarshal(decodedData, &meta)
err = cbor.Unmarshal(decodedData, &meta)
if err != nil {
return nil, err
}