package com.vincent.rsf.httpaudit.props;
|
|
import lombok.Data;
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
|
import java.util.ArrayList;
|
import java.util.LinkedHashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* HTTP 审计配置
|
*/
|
@Data
|
@ConfigurationProperties(prefix = "http-audit")
|
public class HttpAuditProperties {
|
|
private boolean enabled = true;
|
|
/** 查询类响应最多保留字符数 */
|
private int queryResponseMaxChars = 500;
|
|
/** 非查询类响应最多入库字节(超出截断并标记) */
|
private int maxResponseStoreChars = 65535;
|
|
/** 请求体缓存上限(字节) */
|
private int maxRequestCacheBytes = 2 * 1024 * 1024;
|
|
/** 响应体缓存上限(字节) */
|
private int maxResponseCacheBytes = 2 * 1024 * 1024;
|
|
/** 不落库的路径前缀 */
|
private List<String> excludePathPrefixes = defaultExcludes();
|
|
/** 视为外部调用的路径前缀(其余为内部) */
|
private List<String> externalPathPrefixes = defaultExternal();
|
|
/** 路径 -> 功能描述(按最长路径前缀匹配) */
|
private Map<String, String> pathDescriptions = new LinkedHashMap<>();
|
|
private static List<String> defaultExcludes() {
|
List<String> list = new ArrayList<>();
|
list.add("/actuator");
|
list.add("/swagger");
|
list.add("/webjars");
|
list.add("/v2/api-docs");
|
list.add("/v3/api-docs");
|
list.add("/doc.html");
|
list.add("/druid");
|
list.add("/error");
|
list.add("/favicon.ico");
|
list.add("/static/");
|
list.add("/httpAuditLog");
|
return list;
|
}
|
|
private static List<String> defaultExternal() {
|
List<String> list = new ArrayList<>();
|
list.add("/erp");
|
list.add("/cloudwms");
|
return list;
|
}
|
}
|