Update main.go, main.go, and 2 more files...

This commit is contained in:
RamiBerm
2021-05-25 10:34:33 +03:00
parent 1d6f59df99
commit 6155f12015
4 changed files with 28 additions and 24 deletions

View File

@@ -108,8 +108,7 @@ func pipeChannelToSocket(connection *websocket.Conn, messageDataChannel <-chan *
} }
for messageData := range messageDataChannel { for messageData := range messageDataChannel {
websocketMessage := models.CreateWebsocketTappedEntryMessage(messageData) marshaledData, err := models.CreateWebsocketTappedEntryMessage(messageData)
marshaledData, err := json.Marshal(websocketMessage)
if err != nil { if err != nil {
fmt.Printf("error converting message to json %s, (%v,%+v)\n", err, err, err) fmt.Printf("error converting message to json %s, (%v,%+v)\n", err, err, err)
continue continue

View File

@@ -120,8 +120,7 @@ func saveHarToDb(entry *har.Entry, sender string) {
database.GetEntriesTable().Create(&mizuEntry) database.GetEntriesTable().Create(&mizuEntry)
baseEntry := utils.GetResolvedBaseEntry(mizuEntry) baseEntry := utils.GetResolvedBaseEntry(mizuEntry)
messageToSend := models.CreateBaseEntryWebSocketMessage(&baseEntry) baseEntryBytes, _ := models.CreateBaseEntryWebSocketMessage(&baseEntry)
baseEntryBytes, _ := json.Marshal(&messageToSend)
broadcastToBrowserClients(baseEntryBytes) broadcastToBrowserClients(baseEntryBytes)
} }

View File

@@ -59,22 +59,25 @@ func (h *RoutesEventHandlers) WebSocketMessage(ep *ikisocket.EventPayload) {
err := json.Unmarshal(ep.Data, &socketMessageBase) err := json.Unmarshal(ep.Data, &socketMessageBase)
if err != nil { if err != nil {
fmt.Printf("Could not unmarshal websocket message %v\n", err) fmt.Printf("Could not unmarshal websocket message %v\n", err)
} else if socketMessageBase.MessageType == shared.WebSocketMessageTypeTappedEntry { } else {
var tappedEntryMessage models.WebSocketTappedEntryMessage switch socketMessageBase.MessageType {
err := json.Unmarshal(ep.Data, &tappedEntryMessage) case shared.WebSocketMessageTypeTappedEntry:
if err != nil { var tappedEntryMessage models.WebSocketTappedEntryMessage
fmt.Printf("Could not unmarshal message of message type %s %v", socketMessageBase.MessageType, err) err := json.Unmarshal(ep.Data, &tappedEntryMessage)
} else { if err != nil {
h.SocketHarOutChannel <- tappedEntryMessage.Data fmt.Printf("Could not unmarshal message of message type %s %v", socketMessageBase.MessageType, err)
} } else {
} else if socketMessageBase.MessageType == shared.WebSocketMessageTypeUpdateStatus { h.SocketHarOutChannel <- tappedEntryMessage.Data
var statusMessage shared.WebSocketStatusMessage }
err := json.Unmarshal(ep.Data, &statusMessage) case shared.WebSocketMessageTypeUpdateStatus:
if err != nil { var statusMessage shared.WebSocketStatusMessage
fmt.Printf("Could not unmarshal message of message type %s %v", socketMessageBase.MessageType, err) err := json.Unmarshal(ep.Data, &statusMessage)
} else { if err != nil {
controllers.TapStatus = statusMessage.TappingStatus fmt.Printf("Could not unmarshal message of message type %s %v", socketMessageBase.MessageType, err)
broadcastToBrowserClients(ep.Data) } else {
controllers.TapStatus = statusMessage.TappingStatus
broadcastToBrowserClients(ep.Data)
}
} }
} }
} }

View File

@@ -1,6 +1,7 @@
package models package models
import ( import (
"encoding/json"
"github.com/up9inc/mizu/shared" "github.com/up9inc/mizu/shared"
"mizuserver/pkg/tap" "mizuserver/pkg/tap"
"time" "time"
@@ -60,20 +61,22 @@ type WebSocketTappedEntryMessage struct {
Data *tap.OutputChannelItem Data *tap.OutputChannelItem
} }
func CreateBaseEntryWebSocketMessage(base *BaseEntryDetails) *WebSocketEntryMessage { func CreateBaseEntryWebSocketMessage(base *BaseEntryDetails) ([]byte, error) {
return &WebSocketEntryMessage{ message := &WebSocketEntryMessage{
WebSocketMessageMetadata: &shared.WebSocketMessageMetadata{ WebSocketMessageMetadata: &shared.WebSocketMessageMetadata{
MessageType: shared.WebSocketMessageTypeEntry, MessageType: shared.WebSocketMessageTypeEntry,
}, },
Data: base, Data: base,
} }
return json.Marshal(message)
} }
func CreateWebsocketTappedEntryMessage(base *tap.OutputChannelItem) *WebSocketTappedEntryMessage { func CreateWebsocketTappedEntryMessage(base *tap.OutputChannelItem) ([]byte, error) {
return &WebSocketTappedEntryMessage{ message := &WebSocketTappedEntryMessage{
WebSocketMessageMetadata: &shared.WebSocketMessageMetadata{ WebSocketMessageMetadata: &shared.WebSocketMessageMetadata{
MessageType: shared.WebSocketMessageTypeTappedEntry, MessageType: shared.WebSocketMessageTypeTappedEntry,
}, },
Data: base, Data: base,
} }
return json.Marshal(message)
} }