github.com/status-im/status-go@v1.1.0/_assets/generate_handlers/generate_handlers_template.txt (about) 1 //nolint 2 // Code generated by generate_handlers.go. DO NOT EDIT. 3 // source: generate_handlers.go 4 5 package protocol 6 7 import ( 8 "errors" 9 10 "github.com/golang/protobuf/proto" 11 "go.uber.org/zap" 12 13 "github.com/status-im/status-go/protocol/common" 14 "github.com/status-im/status-go/protocol/protobuf" 15 "github.com/status-im/status-go/protocol/transport" 16 v1protocol "github.com/status-im/status-go/protocol/v1" 17 ) 18 19 func (m *Messenger) dispatchToHandler(messageState *ReceivedMessageState, protoBytes []byte, msg *v1protocol.StatusMessage, filter transport.Filter, fromArchive bool) error { 20 switch msg.ApplicationLayer.Type { 21 {{ range .}} 22 case protobuf.ApplicationMetadataMessage_{{.EnumValue}}: 23 return m.{{.MethodName}}(messageState, protoBytes, msg, filter{{ if .FromArchiveArg }}, fromArchive{{ end }}) 24 {{ end }} 25 default: 26 m.logger.Info("protobuf type not found", zap.String("type", string(msg.ApplicationLayer.Type))) 27 return errors.New("protobuf type not found") 28 } 29 return nil 30 } 31 32 {{ range . }} 33 func (m *Messenger) {{.MethodName}}(messageState *ReceivedMessageState, protoBytes []byte, msg *v1protocol.StatusMessage, filter transport.Filter{{ if .FromArchiveArg }}, fromArchive bool{{ end }}) error { 34 m.logger.Info("handling {{ .ProtobufName}}") 35 {{ if .SyncMessage }} 36 if !common.IsPubKeyEqual(messageState.CurrentMessageState.PublicKey, &m.identity.PublicKey) { 37 m.logger.Warn("not coming from us, ignoring") 38 return nil 39 } 40 {{ end }} 41 42 {{ if .ProcessRaw }} 43 return m.Handle{{.ProtobufName}}(messageState, protoBytes, msg) 44 {{ else }} 45 p := &protobuf.{{.ProtobufName}}{} 46 err := proto.Unmarshal(protoBytes, p) 47 if err != nil { 48 return err 49 } 50 51 m.outputToCSV(msg.TransportLayer.Message.Timestamp, msg.ApplicationLayer.ID, messageState.CurrentMessageState.Contact.ID, filter.ContentTopic, filter.ChatID, msg.ApplicationLayer.Type, p) 52 53 return m.Handle{{.ProtobufName}}(messageState, p, msg{{ if .FromArchiveArg }}, fromArchive {{ end }}) 54 {{ end }} 55 } 56 57 {{ end }}