实现基本的访问日志策略

This commit is contained in:
刘祥超
2021-07-29 16:51:11 +08:00
parent f405e42d39
commit c49ec306d4
11 changed files with 1263 additions and 121 deletions

View File

@@ -36,6 +36,7 @@ type HTTPAccessLogPolicy struct {
Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"`
OptionsJSON []byte `protobuf:"bytes,5,opt,name=optionsJSON,proto3" json:"optionsJSON,omitempty"`
CondsJSON []byte `protobuf:"bytes,6,opt,name=condsJSON,proto3" json:"condsJSON,omitempty"`
IsPublic bool `protobuf:"varint,7,opt,name=isPublic,proto3" json:"isPublic,omitempty"`
}
func (x *HTTPAccessLogPolicy) Reset() {
@@ -112,13 +113,20 @@ func (x *HTTPAccessLogPolicy) GetCondsJSON() []byte {
return nil
}
func (x *HTTPAccessLogPolicy) GetIsPublic() bool {
if x != nil {
return x.IsPublic
}
return false
}
var File_models_model_http_access_log_policy_proto protoreflect.FileDescriptor
var file_models_model_http_access_log_policy_proto_rawDesc = []byte{
0x0a, 0x29, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x68,
0x74, 0x74, 0x70, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x70,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22,
0xa1, 0x01, 0x0a, 0x13, 0x48, 0x54, 0x54, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f,
0xbd, 0x01, 0x0a, 0x13, 0x48, 0x54, 0x54, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f,
0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69,
@@ -128,8 +136,9 @@ var file_models_model_http_access_log_policy_proto_rawDesc = []byte{
0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x4a, 0x53,
0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x4a,
0x53, 0x4f, 0x4e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
0x53, 0x4f, 0x4e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18,
0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42,
0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

File diff suppressed because it is too large Load Diff

View File

@@ -10,4 +10,5 @@ message HTTPAccessLogPolicy {
string type = 4;
bytes optionsJSON = 5;
bytes condsJSON = 6;
bool isPublic = 7;
}

View File

@@ -4,18 +4,86 @@ option go_package = "./pb";
package pb;
import "models/model_http_access_log_policy.proto";
import "models/rpc_messages.proto";
import "models/model_http_access_log.proto";
service HTTPAccessLogPolicyService {
// 获取所有可用策略
rpc findAllEnabledHTTPAccessLogPolicies (FindAllEnabledHTTPAccessLogPoliciesRequest) returns (FindAllEnabledHTTPAccessLogPoliciesResponse);
// 计算访问日志策略数量
rpc countAllEnabledHTTPAccessLogPolicies (CountAllEnabledHTTPAccessLogPoliciesRequest) returns (RPCCountResponse);
// 列出单页访问日志策略
rpc listEnabledHTTPAccessLogPolicies (ListEnabledHTTPAccessLogPoliciesRequest) returns (ListEnabledHTTPAccessLogPoliciesResponse);
// 创建访问日志策略
rpc createHTTPAccessLogPolicy (CreateHTTPAccessLogPolicyRequest) returns (CreateHTTPAccessLogPolicyResponse);
// 修改访问日志策略
rpc updateHTTPAccessLogPolicy (UpdateHTTPAccessLogPolicyRequest) returns (RPCSuccess);
// 查找单个访问日志策略
rpc findEnabledHTTPAccessLogPolicy (FindEnabledHTTPAccessLogPolicyRequest) returns (FindEnabledHTTPAccessLogPolicyResponse);
// 删除访问日志策略
rpc deleteHTTPAccessLogPolicy (DeleteHTTPAccessLogPolicyRequest) returns (RPCSuccess);
// 测试写入某个访问日志策略
rpc writeHTTPAccessLogPolicy (WriteHTTPAccessLogPolicyRequest) returns (RPCSuccess);
}
// 获取所有可用策略
message FindAllEnabledHTTPAccessLogPoliciesRequest {
// 计算访问日志策略数量
message CountAllEnabledHTTPAccessLogPoliciesRequest {
}
message FindAllEnabledHTTPAccessLogPoliciesResponse {
repeated HTTPAccessLogPolicy accessLogPolicies = 1;
// 列出单页访问日志策略
message ListEnabledHTTPAccessLogPoliciesRequest {
int64 offset = 1;
int64 size = 2;
}
message ListEnabledHTTPAccessLogPoliciesResponse {
repeated HTTPAccessLogPolicy httpAccessLogPolicies = 1;
}
// 创建访问日志策略
message CreateHTTPAccessLogPolicyRequest {
string name = 1;
string type = 2;
bytes optionsJSON = 3;
bytes condsJSON = 4;
bool isPublic = 5;
}
message CreateHTTPAccessLogPolicyResponse {
int64 httpAccessLogPolicyId = 1;
}
// 修改访问日志策略
message UpdateHTTPAccessLogPolicyRequest {
int64 httpAccessLogPolicyId = 1;
string name = 2;
bool isOn = 3;
bytes optionsJSON = 4;
bytes condsJSON = 5;
bool isPublic = 6;
}
// 查找单个访问日志策略
message FindEnabledHTTPAccessLogPolicyRequest {
int64 httpAccessLogPolicyId = 1;
}
message FindEnabledHTTPAccessLogPolicyResponse {
HTTPAccessLogPolicy httpAccessLogPolicy = 1;
}
// 删除策略
message DeleteHTTPAccessLogPolicyRequest {
int64 httpAccessLogPolicyId = 1;
}
// 测试写入某个访问日志策略
message WriteHTTPAccessLogPolicyRequest {
int64 httpAccessLogPolicyId = 1;
HTTPAccessLog httpAccessLog = 2;
}