implement sonic for json + remove some TODOs from readme + fix go version requirement (#5)

This commit is contained in:
dogghi no 2025-04-17 14:16:30 +02:00 committed by GitHub
parent 4a15dd0761
commit e35bd2fe57
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 70 additions and 47 deletions

View file

@ -1,7 +1,6 @@
package twitter
import (
"encoding/json"
"fmt"
"io"
"net/http"
@ -10,6 +9,8 @@ import (
"govd/enums"
"govd/models"
"govd/util"
"github.com/bytedance/sonic"
)
const (
@ -168,13 +169,9 @@ func GetTweetAPI(tweetID string) (*Tweet, error) {
return nil, fmt.Errorf("invalid response code: %s", resp.Status)
}
body, err := io.ReadAll(resp.Body)
if err != nil {
return nil, fmt.Errorf("failed to read body: %w", err)
}
var apiResponse APIResponse
err = json.Unmarshal(body, &apiResponse)
decoder := sonic.ConfigFastest.NewDecoder(resp.Body)
err = decoder.Decode(&apiResponse)
if err != nil {
return nil, fmt.Errorf("failed to parse response: %w", err)
}

View file

@ -1,7 +1,6 @@
package twitter
import (
"encoding/json"
"fmt"
"govd/enums"
"govd/models"
@ -10,6 +9,8 @@ import (
"regexp"
"strconv"
"strings"
"github.com/bytedance/sonic"
)
const authToken = "AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA"
@ -75,8 +76,8 @@ func BuildAPIQuery(tweetID string) map[string]string {
"vibe_api_enabled": true,
}
variablesJSON, _ := json.Marshal(variables)
featuresJSON, _ := json.Marshal(features)
variablesJSON, _ := sonic.ConfigFastest.Marshal(variables)
featuresJSON, _ := sonic.ConfigFastest.Marshal(features)
return map[string]string{
"variables": string(variablesJSON),