[feature] Add coloring to debug information #999

* fix nil pointer dereference
This commit is contained in:
forgedhallpass 2021-10-01 15:10:17 +03:00
parent 898c9431b5
commit b8a2b2a1c4
2 changed files with 14 additions and 10 deletions

View File

@ -476,11 +476,13 @@ func (request *Request) executeRequest(reqURL string, generatedRequest *generate
func createEvent(request *Request, outputEvent output.InternalEvent, finalEvent output.InternalEvent, generatedRequest *generatedRequest) *output.InternalWrappedEvent { func createEvent(request *Request, outputEvent output.InternalEvent, finalEvent output.InternalEvent, generatedRequest *generatedRequest) *output.InternalWrappedEvent {
event := &output.InternalWrappedEvent{InternalEvent: outputEvent} event := &output.InternalWrappedEvent{InternalEvent: outputEvent}
result, ok := request.CompiledOperators.Execute(finalEvent, request.Match, request.Extract) if request.CompiledOperators != nil {
if ok && result != nil { result, ok := request.CompiledOperators.Execute(finalEvent, request.Match, request.Extract)
event.OperatorsResult = result if ok && result != nil {
event.OperatorsResult.PayloadValues = generatedRequest.meta event.OperatorsResult = result
event.Results = request.MakeResultEvent(event) event.OperatorsResult.PayloadValues = generatedRequest.meta
event.Results = request.MakeResultEvent(event)
}
} }
return event return event

View File

@ -101,13 +101,15 @@ func (request *Request) ExecuteWithResults(input string, metadata /*TODO review
return nil return nil
} }
func createEvent(outputEvent map[string]interface{}, operator *operators.Operators, r *Request) *output.InternalWrappedEvent { func createEvent(outputEvent map[string]interface{}, operator *operators.Operators, request *Request) *output.InternalWrappedEvent {
event := &output.InternalWrappedEvent{InternalEvent: outputEvent} event := &output.InternalWrappedEvent{InternalEvent: outputEvent}
result, ok := operator.Execute(outputEvent, r.Match, r.Extract) if request.compiledOperators != nil {
if ok && event.OperatorsResult != nil { result, ok := operator.Execute(outputEvent, request.Match, request.Extract)
event.OperatorsResult = result if ok && event.OperatorsResult != nil {
event.Results = r.MakeResultEvent(event) event.OperatorsResult = result
event.Results = request.MakeResultEvent(event)
}
} }
return event return event