You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
958 B
31 lines
958 B
import {appSettings} from 'app/server/lib/AppSettings';
|
|
import {GristAuditLogger} from 'app/server/lib/GristAuditLogger';
|
|
|
|
export function configureGristAuditLogger() {
|
|
const options = checkGristAuditLogger();
|
|
if (!options) { return undefined; }
|
|
|
|
return new GristAuditLogger(options);
|
|
}
|
|
|
|
export function checkGristAuditLogger() {
|
|
const settings = appSettings.section('auditLogger').section('http');
|
|
const endpoint = settings.flag('endpoint').readString({
|
|
envVar: 'GRIST_AUDIT_HTTP_ENDPOINT',
|
|
});
|
|
if (!endpoint) { return undefined; }
|
|
|
|
const payloadFormat = settings.flag('payloadFormat').readString({
|
|
envVar: 'GRIST_AUDIT_HTTP_PAYLOAD_FORMAT',
|
|
defaultValue: 'grist',
|
|
});
|
|
if (payloadFormat !== 'grist') { return undefined; }
|
|
|
|
const authorizationHeader = settings.flag('authorizationHeader').readString({
|
|
envVar: 'GRIST_AUDIT_HTTP_AUTHORIZATION_HEADER',
|
|
censor: true,
|
|
});
|
|
|
|
return {endpoint, authorizationHeader};
|
|
}
|