Browse Source

Remove unnecessary content ParseRaw calls

Signed-off-by: Nikos Filippakis <me@nfil.dev>
pull/330/head
Nikos Filippakis 5 years ago
parent
commit
b6afbc11e4
  1. 18
      clients/clients.go
  2. 1
      clients/clients_test.go
  3. 2
      go.mod

18
clients/clients.go

@ -159,10 +159,6 @@ func (c *Clients) onMessageEvent(botClient *BotClient, event *mevt.Event) {
}).Warn("Error loading services") }).Warn("Error loading services")
} }
if err := event.Content.ParseRaw(mevt.EventMessage); err != nil {
return
}
message := event.Content.AsMessage() message := event.Content.AsMessage()
body := message.Body body := message.Body
@ -307,9 +303,6 @@ func (c *Clients) onBotOptionsEvent(client *mautrix.Client, event *mevt.Event) {
} }
func (c *Clients) onRoomMemberEvent(client *mautrix.Client, event *mevt.Event) { func (c *Clients) onRoomMemberEvent(client *mautrix.Client, event *mevt.Event) {
if err := event.Content.ParseRaw(mevt.StateMember); err != nil {
return
}
if event.StateKey == nil || *event.StateKey != client.UserID.String() { if event.StateKey == nil || *event.StateKey != client.UserID.String() {
return // not our member event return // not our member event
} }
@ -384,10 +377,6 @@ func (c *Clients) initClient(botClient *BotClient) error {
// When receiving an encrypted event, attempt to decrypt it using the BotClient's capabilities. // When receiving an encrypted event, attempt to decrypt it using the BotClient's capabilities.
// If successfully decrypted propagate the decrypted event to the clients. // If successfully decrypted propagate the decrypted event to the clients.
syncer.OnEventType(mevt.EventEncrypted, func(source mautrix.EventSource, evt *mevt.Event) { syncer.OnEventType(mevt.EventEncrypted, func(source mautrix.EventSource, evt *mevt.Event) {
if err := evt.Content.ParseRaw(mevt.EventEncrypted); err != nil {
log.WithError(err).Error("Failed to parse encrypted message")
return
}
encContent := evt.Content.AsEncrypted() encContent := evt.Content.AsEncrypted()
decrypted, err := botClient.DecryptMegolmEvent(evt) decrypted, err := botClient.DecryptMegolmEvent(evt)
if err != nil { if err != nil {
@ -399,12 +388,7 @@ func (c *Clients) initClient(botClient *BotClient) error {
}).WithError(err).Error("Failed to decrypt message") }).WithError(err).Error("Failed to decrypt message")
} else { } else {
if decrypted.Type == mevt.EventMessage { if decrypted.Type == mevt.EventMessage {
err = decrypted.Content.ParseRaw(mevt.EventMessage)
if err != nil {
log.WithError(err).Error("Could not parse decrypted message event")
} else {
c.onMessageEvent(botClient, decrypted)
}
c.onMessageEvent(botClient, decrypted)
} }
log.WithFields(log.Fields{ log.WithFields(log.Fields{
"type": evt.Type, "type": evt.Type,

1
clients/clients_test.go

@ -89,6 +89,7 @@ func TestCommandParsing(t *testing.T) {
} else { } else {
content.VeryRaw = veryRaw content.VeryRaw = veryRaw
} }
content.ParseRaw(mevt.EventMessage)
event := mevt.Event{ event := mevt.Event{
Type: mevt.EventMessage, Type: mevt.EventMessage,
Sender: "@someone:somewhere", Sender: "@someone:somewhere",

2
go.mod

@ -51,5 +51,5 @@ require (
gopkg.in/alecthomas/kingpin.v2 v2.2.6 // indirect gopkg.in/alecthomas/kingpin.v2 v2.2.6 // indirect
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect
gopkg.in/yaml.v2 v2.3.0 gopkg.in/yaml.v2 v2.3.0
maunium.net/go/mautrix v0.5.5
maunium.net/go/mautrix v0.5.7
) )
Loading…
Cancel
Save