All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.dnastack.audit.emitter.EventsAuditEventLogEmitter Maven / Gradle / Ivy

package com.dnastack.audit.emitter;

import com.dnastack.audit.client.EventsClient;
import com.dnastack.audit.model.AuditEventBody;
import com.dnastack.audit.model.AuditEventLoggerConfig;
import com.dnastack.audit.model.JsonPrinterStyle;
import com.dnastack.audit.util.AuditTracer;
import interceptor.TokenDelegate;

import java.util.Objects;

/**
 * Emits audit event logs to configured events endpoint
 */
public class EventsAuditEventLogEmitter implements AuditEventLogEmitter {

    private final EventsClient eventsClient;

    public EventsAuditEventLogEmitter(AuditEventLoggerConfig.Publisher publisherConfig,
        TokenDelegate tokenDelegate,
        AuditTracer auditTracer
    ) {
        this(new EventsClient(publisherConfig, tokenDelegate, auditTracer));
    }

    public EventsAuditEventLogEmitter(EventsClient eventsClient) {
        Objects.requireNonNull(eventsClient, "eventsHttpClient must not be null");
        this.eventsClient = eventsClient;
    }

    @Override
    public void emit(AuditEventBody auditEvent) {
        eventsClient.publish(auditEvent);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy