mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-06-30 18:14:44 +00:00
More complex message (preparation for knowing status of tapped items in UI) (#49)
* no message * no message
This commit is contained in:
parent
8774639cbe
commit
5cbb5a011e
3
Makefile
3
Makefile
@ -38,8 +38,7 @@ api: ## build API server
|
|||||||
|
|
||||||
docker: ## build Docker image
|
docker: ## build Docker image
|
||||||
@(echo "building docker image" )
|
@(echo "building docker image" )
|
||||||
docker build -t up9inc/mizu:latest .
|
./build-push-featurebranch.sh
|
||||||
#./build-push-featurebranch.sh
|
|
||||||
|
|
||||||
push: push-docker push-cli ## build and publish Mizu docker image & CLI
|
push: push-docker push-cli ## build and publish Mizu docker image & CLI
|
||||||
|
|
||||||
|
@ -120,7 +120,8 @@ func saveHarToDb(entry *har.Entry, sender string) {
|
|||||||
database.GetEntriesTable().Create(&mizuEntry)
|
database.GetEntriesTable().Create(&mizuEntry)
|
||||||
|
|
||||||
baseEntry := utils.GetResolvedBaseEntry(mizuEntry)
|
baseEntry := utils.GetResolvedBaseEntry(mizuEntry)
|
||||||
baseEntryBytes, _ := json.Marshal(&baseEntry)
|
messageToSend := models.CreateBaseEntryWebSocketMessage(&baseEntry)
|
||||||
|
baseEntryBytes, _ := json.Marshal(&messageToSend)
|
||||||
broadcastToBrowserClients(baseEntryBytes)
|
broadcastToBrowserClients(baseEntryBytes)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import "time"
|
import (
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
type MizuEntry struct {
|
type MizuEntry struct {
|
||||||
ID uint `gorm:"primarykey"`
|
ID uint `gorm:"primarykey"`
|
||||||
@ -40,3 +42,41 @@ type EntriesFilter struct {
|
|||||||
Operator string `query:"operator" validate:"required,oneof='lt' 'gt'"`
|
Operator string `query:"operator" validate:"required,oneof='lt' 'gt'"`
|
||||||
Timestamp int64 `query:"timestamp" validate:"required,min=1"`
|
Timestamp int64 `query:"timestamp" validate:"required,min=1"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
type WebSocketMessageType string
|
||||||
|
const (
|
||||||
|
WebSocketMessageTypeEntry WebSocketMessageType = "entry"
|
||||||
|
// WebSocketMessageTypeUpdateStatus WebSocketMessageType = "status"
|
||||||
|
)
|
||||||
|
|
||||||
|
func CreateBaseEntryWebSocketMessage(base *BaseEntryDetails) *WebSocketEntryMessage {
|
||||||
|
return &WebSocketEntryMessage{
|
||||||
|
WebSocketMessageMetadata: &WebSocketMessageMetadata{
|
||||||
|
MessageType: WebSocketMessageTypeEntry,
|
||||||
|
},
|
||||||
|
Data: base,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//func CreateWebSocketStatusMessage() *WebSocketStatusMessage {
|
||||||
|
// return &WebSocketEntryMessage{
|
||||||
|
// WebSocketMessageMetadata: &WebSocketMessageMetadata{
|
||||||
|
// MessageType: WebSocketMessageTypeUpdateStatus,
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
|
type WebSocketEntryMessage struct {
|
||||||
|
*WebSocketMessageMetadata
|
||||||
|
Data *BaseEntryDetails `json:"data,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type WebSocketStatusMessage struct {
|
||||||
|
*WebSocketMessageMetadata
|
||||||
|
}
|
||||||
|
|
||||||
|
type WebSocketMessageMetadata struct {
|
||||||
|
MessageType WebSocketMessageType `json:"messageType,omitempty"`
|
||||||
|
}
|
||||||
|
@ -60,7 +60,11 @@ export const HarPage: React.FC = () => {
|
|||||||
if(ws.current) {
|
if(ws.current) {
|
||||||
ws.current.onmessage = e => {
|
ws.current.onmessage = e => {
|
||||||
if(!e?.data) return;
|
if(!e?.data) return;
|
||||||
const entry = JSON.parse(e.data);
|
const message = JSON.parse(e.data);
|
||||||
|
|
||||||
|
switch (message.messageType) {
|
||||||
|
case "entry":
|
||||||
|
const entry = message.data
|
||||||
if(connection === ConnectionStatus.Paused) {
|
if(connection === ConnectionStatus.Paused) {
|
||||||
setNoMoreDataBottom(false)
|
setNoMoreDataBottom(false)
|
||||||
return;
|
return;
|
||||||
@ -72,6 +76,13 @@ export const HarPage: React.FC = () => {
|
|||||||
setNoMoreDataTop(false);
|
setNoMoreDataTop(false);
|
||||||
}
|
}
|
||||||
setEntries([...newEntries, entry])
|
setEntries([...newEntries, entry])
|
||||||
|
break
|
||||||
|
case "updateStatus":
|
||||||
|
console.log("not implemented yet")
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
console.error(`unsupported websocket message type, Got: ${message.messageType}`)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user