// Package abstract ... // // Description : 事件发送前预处理接口约束 // // Author : go_developer@163.com<白茶清欢> // // Date : 2023-02-01 14:06 package abstract import ( "net/http" ) // IPreSendHandler ... // // Author : go_developer@163.com<白茶清欢> // // Date : 14:06 2023/2/1 type IPreSendHandler interface { // GetEventID 为每一条事件生成唯一的ID, 此方法若返回空值, 则会自动生成一个随机的md5字符串作为事件ID // // Author : go_developer@163.com<白茶清欢> // // Date : 14:10 2023/2/1 GetEventID() string // GetRequestParam 构造 base info 时, 可能需要从请求参数中提取公共数据 // // Author : go_developer@163.com<白茶清欢> // // Date : 14:13 2023/2/1 GetRequestParam() map[string]interface{} // GetRequestHeader ... // // Author : go_developer@163.com<白茶清欢> // // Date : 14:14 2023/2/1 // 构造 base info 时, 可能需要从请求参数中提取公共数据 GetRequestHeader() http.Header // GetResponseData 响应数据 // // Author : go_developer@163.com<白茶清欢> // // Date : 14:15 2023/2/1 GetResponseData() map[string]interface{} // GetExtensionData 获取扩展数据 // // Author : go_developer@163.com<白茶清欢> // // Date : 14:19 2023/2/1 GetExtensionData() map[string]interface{} // GetEventData 获取事件数据, 建议返回结构体或者结构体指针, 内部会自动补齐缺失的数据 // // Author : go_developer@163.com<白茶清欢> // // Date : 14:16 2023/2/1 GetEventData() interface{} // NeedSend 判断是否需要发送事件, 若不需要发送, 可在第一个返回值中记录不需要发送的原因 // // Author : go_developer@163.com<白茶清欢> // // Date : 15:24 2023/2/2 NeedSend() (map[string]interface{}, bool) }