Populate Request and Response fields of MizuEntry

This commit is contained in:
M. Mert Yildiran 2021-09-17 09:42:08 +03:00
parent 2dd1883c65
commit a00951fdd7
No known key found for this signature in database
GPG Key ID: D42ADB236521BF7A
5 changed files with 31 additions and 23 deletions

View File

@ -151,6 +151,8 @@ func GetEntry(c *gin.Context) {
ReferenceLink: entry["proto"].(map[string]interface{})["referenceLink"].(string), ReferenceLink: entry["proto"].(map[string]interface{})["referenceLink"].(string),
Priority: uint8(entry["proto"].(map[string]interface{})["priority"].(float64)), Priority: uint8(entry["proto"].(map[string]interface{})["priority"].(float64)),
}, },
Request: entry["request"].(map[string]interface{}),
Response: entry["response"].(map[string]interface{}),
EntryId: entry["entryId"].(string), EntryId: entry["entryId"].(string),
Entry: entry["entry"].(string), Entry: entry["entry"].(string),
Url: entry["url"].(string), Url: entry["url"].(string),

View File

@ -102,29 +102,29 @@ func (e *Emitting) Emit(item *OutputChannelItem) {
} }
type MizuEntry struct { type MizuEntry struct {
Id uint `json:"id"` Id uint `json:"id"`
Protocol Protocol `json:"proto"` Protocol Protocol `json:"proto"`
Timestamp int64 `json:"timestamp"` Timestamp int64 `json:"timestamp"`
Request interface{} `json:"request"` Request map[string]interface{} `json:"request"`
Response interface{} `json:"response"` Response map[string]interface{} `json:"response"`
Summary *BaseEntryDetails `json:"summary"` Summary *BaseEntryDetails `json:"summary"`
Entry string `json:"entry,omitempty"` Entry string `json:"entry,omitempty"`
EntryId string `json:"entryId" gorm:"column:entryId"` EntryId string `json:"entryId" gorm:"column:entryId"`
Url string `json:"url" gorm:"column:url"` Url string `json:"url" gorm:"column:url"`
Method string `json:"method" gorm:"column:method"` Method string `json:"method" gorm:"column:method"`
Status int `json:"status" gorm:"column:status"` Status int `json:"status" gorm:"column:status"`
RequestSenderIp string `json:"requestSenderIp" gorm:"column:requestSenderIp"` RequestSenderIp string `json:"requestSenderIp" gorm:"column:requestSenderIp"`
Service string `json:"service" gorm:"column:service"` Service string `json:"service" gorm:"column:service"`
ElapsedTime int64 `json:"elapsedTime" gorm:"column:elapsedTime"` ElapsedTime int64 `json:"elapsedTime" gorm:"column:elapsedTime"`
Path string `json:"path" gorm:"column:path"` Path string `json:"path" gorm:"column:path"`
ResolvedSource string `json:"resolvedSource,omitempty" gorm:"column:resolvedSource"` ResolvedSource string `json:"resolvedSource,omitempty" gorm:"column:resolvedSource"`
ResolvedDestination string `json:"resolvedDestination,omitempty" gorm:"column:resolvedDestination"` ResolvedDestination string `json:"resolvedDestination,omitempty" gorm:"column:resolvedDestination"`
SourceIp string `json:"sourceIp,omitempty" gorm:"column:sourceIp"` SourceIp string `json:"sourceIp,omitempty" gorm:"column:sourceIp"`
DestinationIp string `json:"destinationIp,omitempty" gorm:"column:destinationIp"` DestinationIp string `json:"destinationIp,omitempty" gorm:"column:destinationIp"`
SourcePort string `json:"sourcePort,omitempty" gorm:"column:sourcePort"` SourcePort string `json:"sourcePort,omitempty" gorm:"column:sourcePort"`
DestinationPort string `json:"destinationPort,omitempty" gorm:"column:destinationPort"` DestinationPort string `json:"destinationPort,omitempty" gorm:"column:destinationPort"`
IsOutgoing bool `json:"isOutgoing,omitempty" gorm:"column:isOutgoing"` IsOutgoing bool `json:"isOutgoing,omitempty" gorm:"column:isOutgoing"`
EstimatedSizeBytes int `json:"-" gorm:"column:estimatedSizeBytes"` EstimatedSizeBytes int `json:"-" gorm:"column:estimatedSizeBytes"`
} }
type MizuEntryWrapper struct { type MizuEntryWrapper struct {

View File

@ -268,6 +268,8 @@ func (d dissecting) Analyze(item *api.OutputChannelItem, entryId string, resolve
entryBytes, _ := json.Marshal(item.Pair) entryBytes, _ := json.Marshal(item.Pair)
return &api.MizuEntry{ return &api.MizuEntry{
Protocol: protocol, Protocol: protocol,
Request: reqDetails,
Response: item.Pair.Response.Payload.(map[string]interface{})["details"].(map[string]interface{}),
EntryId: entryId, EntryId: entryId,
Entry: string(entryBytes), Entry: string(entryBytes),
Url: fmt.Sprintf("%s%s", service, summary), Url: fmt.Sprintf("%s%s", service, summary),

View File

@ -175,6 +175,8 @@ func (d dissecting) Analyze(item *api.OutputChannelItem, entryId string, resolve
_protocol.Version = item.Protocol.Version _protocol.Version = item.Protocol.Version
return &api.MizuEntry{ return &api.MizuEntry{
Protocol: _protocol, Protocol: _protocol,
Request: reqDetails,
Response: resDetails,
EntryId: entryId, EntryId: entryId,
Entry: string(entryBytes), Entry: string(entryBytes),
Url: fmt.Sprintf("%s%s", service, path), Url: fmt.Sprintf("%s%s", service, path),

View File

@ -143,6 +143,8 @@ func (d dissecting) Analyze(item *api.OutputChannelItem, entryId string, resolve
entryBytes, _ := json.Marshal(item.Pair) entryBytes, _ := json.Marshal(item.Pair)
return &api.MizuEntry{ return &api.MizuEntry{
Protocol: _protocol, Protocol: _protocol,
Request: reqDetails,
Response: item.Pair.Response.Payload.(map[string]interface{})["details"].(map[string]interface{}),
EntryId: entryId, EntryId: entryId,
Entry: string(entryBytes), Entry: string(entryBytes),
Url: fmt.Sprintf("%s%s", service, summary), Url: fmt.Sprintf("%s%s", service, summary),