applayer template (C): convert to JsonBuilder

pull/5146/head
Jason Ish 5 years ago committed by Victor Julien
parent 0ebeaf4fe4
commit d71fc50212

@ -72,44 +72,33 @@ static int JsonTemplateLogger(ThreadVars *tv, void *thread_data,
SCLogNotice("Logging template transaction %"PRIu64".", templatetx->tx_id); SCLogNotice("Logging template transaction %"PRIu64".", templatetx->tx_id);
json_t *js = CreateJSONHeader(p, LOG_DIR_PACKET, "template", NULL); JsonBuilder *js = CreateEveHeader(p, LOG_DIR_PACKET, "template", NULL);
if (unlikely(js == NULL)) { if (unlikely(js == NULL)) {
return TM_ECODE_FAILED; return TM_ECODE_FAILED;
} }
json_t *templatejs = json_object(); jb_open_object(js, "template");
if (unlikely(templatejs == NULL)) {
goto error;
}
/* Convert the request buffer to a string then log. */ /* Log the request buffer. */
char *request_buffer = BytesToString(templatetx->request_buffer, if (templatetx->request_buffer != NULL) {
jb_set_string_from_bytes(js, "request", templatetx->request_buffer,
templatetx->request_buffer_len); templatetx->request_buffer_len);
if (request_buffer != NULL) {
json_object_set_new(templatejs, "request", json_string(request_buffer));
SCFree(request_buffer);
} }
/* Convert the response buffer to a string then log. */ /* Log the response buffer. */
char *response_buffer = BytesToString(templatetx->response_buffer, if (templatetx->response_buffer != NULL) {
jb_set_string_from_bytes(js, "response", templatetx->response_buffer,
templatetx->response_buffer_len); templatetx->response_buffer_len);
if (response_buffer != NULL) {
json_object_set_new(templatejs, "response",
json_string(response_buffer));
SCFree(response_buffer);
} }
json_object_set_new(js, "template", templatejs); /* Close template. */
jb_close(js);
MemBufferReset(thread->buffer); MemBufferReset(thread->buffer);
OutputJSONBuffer(js, thread->templatelog_ctx->file_ctx, &thread->buffer); OutputJsonBuilderBuffer(js, thread->templatelog_ctx->file_ctx, &thread->buffer);
json_decref(js); jb_free(js);
return TM_ECODE_OK; return TM_ECODE_OK;
error:
json_decref(js);
return TM_ECODE_FAILED;
} }
static void OutputTemplateLogDeInitCtxSub(OutputCtx *output_ctx) static void OutputTemplateLogDeInitCtxSub(OutputCtx *output_ctx)

Loading…
Cancel
Save