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),
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),
Entry: entry["entry"].(string),
Url: entry["url"].(string),

View File

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

View File

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