Skip to content
This repository has been archived by the owner on Jul 11, 2024. It is now read-only.

Commit

Permalink
move json logic to util
Browse files Browse the repository at this point in the history
  • Loading branch information
andersfylling committed Oct 26, 2019
1 parent 4e8e43f commit 66aee69
Show file tree
Hide file tree
Showing 21 changed files with 65 additions and 61 deletions.
7 changes: 4 additions & 3 deletions auditlog_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,15 @@ import (

"github.com/andersfylling/disgord/internal/endpoint"
"github.com/andersfylling/disgord/internal/httd"
"github.com/andersfylling/disgord/internal/util"
)

func TestAuditLogConvertAuditLogParamsToStr(t *testing.T) {
data, err := ioutil.ReadFile("testdata/auditlog/auditlog1.json")
check(err, t)

v := AuditLog{}
err = httd.Unmarshal(data, &v)
err = util.Unmarshal(data, &v)
check(err, t)
}

Expand Down Expand Up @@ -239,7 +240,7 @@ func TestAuditlog_Unmarshal(t *testing.T) {
"action_type": 61
}`)
var v2 *AuditLogEntry
if err := httd.Unmarshal(data, &v2); err != nil {
if err := util.Unmarshal(data, &v2); err != nil {
t.Error(err)
}

Expand All @@ -250,7 +251,7 @@ func TestAuditlog_Unmarshal(t *testing.T) {
}

var v *AuditLog
if err := httd.Unmarshal(data, &v); err != nil {
if err := util.Unmarshal(data, &v); err != nil {
t.Error(err)
}

Expand Down
9 changes: 4 additions & 5 deletions cache.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ import (

"github.com/andersfylling/disgord/internal/constant"
"github.com/andersfylling/disgord/internal/crs"

"github.com/andersfylling/disgord/internal/httd"
"github.com/andersfylling/disgord/internal/util"
)

type cacheRegistry uint
Expand Down Expand Up @@ -380,7 +379,7 @@ func (c *Cache) DirectUpdate(registry cacheRegistry, id Snowflake, changes []byt
return err
}

err = httd.Unmarshal(changes, usr)
err = util.Unmarshal(changes, usr)
return err
}

Expand Down Expand Up @@ -655,7 +654,7 @@ func (g *guildCacheItem) updateRole(role *Role, data json.RawMessage) bool {
for i := range g.guild.Roles {
if g.guild.Roles[i].ID == role.ID {
todo := &GuildRoleUpdate{Role: g.guild.Roles[i]}
err := httd.Unmarshal(data, todo)
err := util.Unmarshal(data, todo)
updated = err == nil
break
}
Expand Down Expand Up @@ -799,7 +798,7 @@ func (c *Cache) UpdateMemberAndUser(guildID, userID Snowflake, data json.RawMess
}

member.User = tmpUser
if err := httd.Unmarshal(data, member); err != nil {
if err := util.Unmarshal(data, member); err != nil {
c.guilds.Unlock()
// TODO: logging
return
Expand Down
4 changes: 2 additions & 2 deletions channel_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"io/ioutil"
"testing"

"github.com/andersfylling/disgord/internal/httd"
"github.com/andersfylling/disgord/internal/util"
)

func TestChannel_DeepCopy(t *testing.T) {
Expand Down Expand Up @@ -80,7 +80,7 @@ func TestChannel_JSONIconNull(t *testing.T) {
Type int `json:"type"`
Icon string `json:"icon"`
}
if err := httd.Unmarshal(data, &c); err != nil {
if err := util.Unmarshal(data, &c); err != nil {
t.Fatal(err)
}

Expand Down
4 changes: 2 additions & 2 deletions events.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
"encoding/json"
"sync"

"github.com/andersfylling/disgord/internal/httd"
"github.com/andersfylling/disgord/internal/util"
)

// Resource represents a discord event.
Expand Down Expand Up @@ -496,7 +496,7 @@ func (g *GuildMemberAdd) updateInternals() {
// UnmarshalJSON ...
func (obj *GuildMemberAdd) UnmarshalJSON(data []byte) error {
obj.Member = &Member{}
return httd.Unmarshal(data, obj.Member)
return util.Unmarshal(data, obj.Member)
}

// ---------------------------
Expand Down
8 changes: 4 additions & 4 deletions guild_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ import (
"io/ioutil"
"testing"

"github.com/andersfylling/disgord/internal/httd"
"github.com/andersfylling/disgord/internal/util"
)

func TestGuildMarshal(t *testing.T) {
data, err := ioutil.ReadFile("testdata/guild/guild1.json")
check(err, t)

v := Guild{}
err = httd.Unmarshal(data, &v)
err = util.Unmarshal(data, &v)
check(err, t)
}

Expand All @@ -22,7 +22,7 @@ func TestGuildMarshalUnavailable(t *testing.T) {
check(err, t)

v := Guild{}
err = httd.Unmarshal(data, &v)
err = util.Unmarshal(data, &v)
check(err, t)
}

Expand Down Expand Up @@ -50,7 +50,7 @@ func TestGuildBanObject(t *testing.T) {
check(err, t)

ban := Ban{}
err = httd.Unmarshal(data, &ban)
err = util.Unmarshal(data, &ban)
check(err, t)
}

Expand Down
4 changes: 2 additions & 2 deletions internal/gateway/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
"time"

"github.com/andersfylling/disgord/internal/gateway/opcode"
"github.com/andersfylling/disgord/internal/httd"
"github.com/andersfylling/disgord/internal/util"

"github.com/andersfylling/disgord/internal/logger"

Expand Down Expand Up @@ -583,7 +583,7 @@ func (c *client) receiver(ctx context.Context) {
evt := c.poolDiscordPkt.Get().(*DiscordPacket)
evt.reset()
//err = evt.UnmarshalJSON(packet) // custom unmarshal
if err = httd.Unmarshal(packet, evt); err != nil {
if err = util.Unmarshal(packet, evt); err != nil {
c.log.Error(c.getLogPrefix(), err, "ERRONEOUS PACKET CONTENT:", string(packet))
cancel() // sometimes a CDN or some VPN might send a HTML string..
continue
Expand Down
8 changes: 4 additions & 4 deletions internal/gateway/eventclient.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import (
"github.com/andersfylling/disgord/internal/gateway/cmd"
"github.com/andersfylling/disgord/internal/gateway/event"
"github.com/andersfylling/disgord/internal/gateway/opcode"
"github.com/andersfylling/disgord/internal/httd"
"github.com/andersfylling/disgord/internal/util"

"github.com/andersfylling/disgord/internal/logger"

Expand Down Expand Up @@ -156,7 +156,7 @@ type EvtClient struct {
func (c *EvtClient) SetPresence(data interface{}) (err error) {
// marshalling is done to avoid race
var presence json.RawMessage
if presence, err = httd.Marshal(data); err != nil {
if presence, err = util.Marshal(data); err != nil {
return err
}
c.idMu.Lock()
Expand Down Expand Up @@ -243,7 +243,7 @@ func (c *EvtClient) onReady(v interface{}) (err error) {

// always store the session id
ready := evtReadyPacket{}
if err = httd.Unmarshal(p.Data, &ready); err != nil {
if err = util.Unmarshal(p.Data, &ready); err != nil {
return err
}

Expand Down Expand Up @@ -309,7 +309,7 @@ func (c *EvtClient) onHello(v interface{}) error {
p := v.(*DiscordPacket)

helloPk := &helloPacket{}
if err := httd.Unmarshal(p.Data, helloPk); err != nil {
if err := util.Unmarshal(p.Data, helloPk); err != nil {
return err
}

Expand Down
15 changes: 7 additions & 8 deletions internal/gateway/packets_disgordperf.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ import (
"strings"

"github.com/andersfylling/disgord/internal/gateway/opcode"

"github.com/andersfylling/disgord/internal/httd"
"github.com/andersfylling/disgord/internal/util"
)

//UnmarshalJSON see interface json.Unmarshaler
Expand All @@ -25,7 +24,7 @@ func (p *DiscordPacket) UnmarshalJSON(data []byte) (err error) {
for i = range t {
if t[i] != data[i] {
evt := discordPacketJSON{}
err = httd.Unmarshal(data, &evt)
err = util.Unmarshal(data, &evt)
evt.CopyOverTo(p)
return
}
Expand All @@ -48,7 +47,7 @@ func (p *DiscordPacket) UnmarshalJSON(data []byte) (err error) {
i += 2 // skip `,"`
if data[i] != 's' {
evt := discordPacketJSON{}
err = httd.Unmarshal(data, &evt)
err = util.Unmarshal(data, &evt)
evt.CopyOverTo(p)
return
}
Expand All @@ -65,7 +64,7 @@ func (p *DiscordPacket) UnmarshalJSON(data []byte) (err error) {
tmp, err = strconv.ParseUint(val.String(), 10, 64)
if err != nil {
evt := discordPacketJSON{}
err = httd.Unmarshal(data, &evt)
err = util.Unmarshal(data, &evt)
evt.CopyOverTo(p)
return
}
Expand All @@ -76,7 +75,7 @@ func (p *DiscordPacket) UnmarshalJSON(data []byte) (err error) {
i += 2 // skip `,"`
if data[i] != 'o' { // o as in op
evt := discordPacketJSON{}
err = httd.Unmarshal(data, &evt)
err = util.Unmarshal(data, &evt)
evt.CopyOverTo(p)
return
}
Expand All @@ -96,7 +95,7 @@ func (p *DiscordPacket) UnmarshalJSON(data []byte) (err error) {
tmp, err = strconv.ParseUint(val.String(), 10, 64)
if err != nil {
evt := discordPacketJSON{}
err = httd.Unmarshal(data, &evt)
err = util.Unmarshal(data, &evt)
evt.CopyOverTo(p)
return
}
Expand All @@ -107,7 +106,7 @@ func (p *DiscordPacket) UnmarshalJSON(data []byte) (err error) {
i += 2 // skip `,"`
if data[i] != 'd' {
evt := discordPacketJSON{}
err = httd.Unmarshal(data, &evt)
err = util.Unmarshal(data, &evt)
evt.CopyOverTo(p)
return
}
Expand Down
6 changes: 3 additions & 3 deletions internal/gateway/packets_disgordperf_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (
"io/ioutil"
"testing"

"github.com/andersfylling/disgord/internal/httd"
"github.com/andersfylling/disgord/internal/util"
)

func BenchmarkEvent_CustomUnmarshal_smallJSON(b *testing.B) {
Expand All @@ -29,7 +29,7 @@ func BenchmarkEvent_Unmarshal_smallJSON(b *testing.B) {
}
for n := 0; n < b.N; n++ {
evt := DiscordPacket{}
if err := httd.Unmarshal(data, &evt); err != nil {
if err := util.Unmarshal(data, &evt); err != nil {
b.Fatal(err)
}
}
Expand All @@ -55,7 +55,7 @@ func BenchmarkEvent_Unmarshal_largeJSON(b *testing.B) {
}
for n := 0; n < b.N; n++ {
evt := DiscordPacket{}
if err := httd.Unmarshal(data, &evt); err != nil {
if err := util.Unmarshal(data, &evt); err != nil {
b.Fatal(err)
}
}
Expand Down
8 changes: 4 additions & 4 deletions internal/gateway/packets_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (
"sync"
"testing"

"github.com/andersfylling/disgord/internal/httd"
"github.com/andersfylling/disgord/internal/util"
)

func getAllJSONFiles(t *testing.T) (files [][]byte) {
Expand All @@ -33,7 +33,7 @@ func TestDiscordPacket_UnmarshalJSON(t *testing.T) {
files := getAllJSONFiles(t)
for _, file := range files {
evt := DiscordPacket{}
err := httd.Unmarshal(file, &evt)
err := util.Unmarshal(file, &evt)
if err != nil {
t.Error(err)
}
Expand All @@ -47,7 +47,7 @@ func TestDiscordPacket_UnmarshalJSON(t *testing.T) {
}

evt := DiscordPacket{}
err = httd.Unmarshal(data, &evt)
err = util.Unmarshal(data, &evt)
if err != nil {
t.Error(err)
}
Expand All @@ -63,7 +63,7 @@ func TestDiscordPacket_UnmarshalJSON(t *testing.T) {
for _, file := range files {
evt := pool.Get().(*DiscordPacket)
evt.reset()
err := httd.Unmarshal(file, evt)
err := util.Unmarshal(file, evt)
pool.Put(evt)
if err != nil {
t.Error(err)
Expand Down
11 changes: 6 additions & 5 deletions internal/gateway/voiceclient.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,11 @@ import (

"github.com/andersfylling/disgord/internal/gateway/cmd"
"github.com/andersfylling/disgord/internal/gateway/opcode"
"github.com/andersfylling/disgord/internal/httd"
"github.com/andersfylling/disgord/internal/util"

"github.com/andersfylling/disgord/internal/logger"
"golang.org/x/net/proxy"

"github.com/andersfylling/disgord/internal/logger"
)

type VoiceConfig struct {
Expand Down Expand Up @@ -121,7 +122,7 @@ func (c *VoiceClient) onReady(v interface{}) (err error) {
p := v.(*DiscordPacket)

readyPk := &VoiceReady{}
if err = httd.Unmarshal(p.Data, readyPk); err != nil {
if err = util.Unmarshal(p.Data, readyPk); err != nil {
return err
}

Expand Down Expand Up @@ -151,7 +152,7 @@ func (c *VoiceClient) onHello(v interface{}) (err error) {
p := v.(*DiscordPacket)

helloPk := &helloPacket{}
if err = httd.Unmarshal(p.Data, helloPk); err != nil {
if err = util.Unmarshal(p.Data, helloPk); err != nil {
return err
}
c.Lock()
Expand All @@ -172,7 +173,7 @@ func (c *VoiceClient) onVoiceSessionDescription(v interface{}) (err error) {
p := v.(*DiscordPacket)

sessionPk := &VoiceSessionDescription{}
if err = httd.Unmarshal(p.Data, sessionPk); err != nil {
if err = util.Unmarshal(p.Data, sessionPk); err != nil {
return err
}

Expand Down
5 changes: 3 additions & 2 deletions internal/gateway/websocket_gorilla.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ import (
"io"
"net/http"

"github.com/andersfylling/disgord/internal/httd"
"github.com/andersfylling/disgord/internal/util"

"github.com/gorilla/websocket"
"golang.org/x/net/proxy"
)
Expand Down Expand Up @@ -52,7 +53,7 @@ func (g *gorilla) WriteJSON(v interface{}) (err error) {
if err != nil {
return err
}
err = httd.JSONEncode(w, v)
err = util.JSONEncode(w, v)
return
}

Expand Down
Loading

0 comments on commit 66aee69

Please sign in to comment.