mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-08-12 05:43:34 +00:00
66 lines
1.4 KiB
Go
66 lines
1.4 KiB
Go
package redis
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
|
|
"github.com/up9inc/mizu/tap/api"
|
|
)
|
|
|
|
type RedisPayload struct {
|
|
Data interface{}
|
|
}
|
|
|
|
type RedisPayloader interface {
|
|
MarshalJSON() ([]byte, error)
|
|
}
|
|
|
|
func (h RedisPayload) MarshalJSON() ([]byte, error) {
|
|
return json.Marshal(h.Data)
|
|
}
|
|
|
|
type RedisWrapper struct {
|
|
Method string `json:"method"`
|
|
Url string `json:"url"`
|
|
Details interface{} `json:"details"`
|
|
}
|
|
|
|
func representGeneric(generic map[string]interface{}, selectorPrefix string) (representation []interface{}) {
|
|
details, _ := json.Marshal([]api.TableData{
|
|
{
|
|
Name: "Type",
|
|
Value: generic["type"].(string),
|
|
Selector: fmt.Sprintf("%stype", selectorPrefix),
|
|
},
|
|
{
|
|
Name: "Command",
|
|
Value: generic["command"].(string),
|
|
Selector: fmt.Sprintf("%scommand", selectorPrefix),
|
|
},
|
|
{
|
|
Name: "Key",
|
|
Value: generic["key"].(string),
|
|
Selector: fmt.Sprintf("%skey", selectorPrefix),
|
|
},
|
|
{
|
|
Name: "Keyword",
|
|
Value: generic["keyword"].(string),
|
|
Selector: fmt.Sprintf("%skeyword", selectorPrefix),
|
|
},
|
|
})
|
|
representation = append(representation, api.SectionData{
|
|
Type: api.TABLE,
|
|
Title: "Details",
|
|
Data: string(details),
|
|
})
|
|
|
|
representation = append(representation, api.SectionData{
|
|
Type: api.BODY,
|
|
Title: "Value",
|
|
Data: generic["value"].(string),
|
|
Selector: fmt.Sprintf("%svalue", selectorPrefix),
|
|
})
|
|
|
|
return
|
|
}
|