add additional json fields: port,ip,scheme,url (#4417)

* add additional json fields: port,ip,scheme,url

* include host field in case of ip input
This commit is contained in:
Tarun Koyalwar
2023-11-28 14:26:23 +05:30
committed by GitHub
parent ce5df9cc02
commit 6e969cbd3c
10 changed files with 183 additions and 19 deletions

View File

@@ -244,12 +244,21 @@ func (request *Request) Type() templateTypes.ProtocolType {
}
func (request *Request) MakeResultEventItem(wrapped *output.InternalWrappedEvent) *output.ResultEvent {
fields := protocolutils.GetJsonFieldsFromURL(types.ToString(wrapped.InternalEvent["input"]))
if types.ToString(wrapped.InternalEvent["ip"]) != "" {
fields.Ip = types.ToString(wrapped.InternalEvent["ip"])
}
data := &output.ResultEvent{
TemplateID: types.ToString(request.options.TemplateID),
TemplatePath: types.ToString(request.options.TemplatePath),
Info: request.options.TemplateInfo,
Type: types.ToString(wrapped.InternalEvent["type"]),
Matched: types.ToString(wrapped.InternalEvent["input"]),
Host: fields.Host,
Port: fields.Port,
Scheme: fields.Scheme,
URL: fields.URL,
IP: fields.Ip,
Metadata: wrapped.OperatorsResult.PayloadValues,
ExtractedResults: wrapped.OperatorsResult.OutputExtracts,
Timestamp: time.Now(),