mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 13:10:24 +08:00 
			
		
		
		
	阶段性提交
This commit is contained in:
		
							
								
								
									
										186
									
								
								pkg/rpc/pb/model_http_auth_policy.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										186
									
								
								pkg/rpc/pb/model_http_auth_policy.pb.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,186 @@
 | 
			
		||||
// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
			
		||||
// versions:
 | 
			
		||||
// 	protoc-gen-go v1.25.0
 | 
			
		||||
// 	protoc        v3.12.3
 | 
			
		||||
// source: models/model_http_auth_policy.proto
 | 
			
		||||
 | 
			
		||||
package pb
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	proto "github.com/golang/protobuf/proto"
 | 
			
		||||
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 | 
			
		||||
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 | 
			
		||||
	reflect "reflect"
 | 
			
		||||
	sync "sync"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	// Verify that this generated code is sufficiently up-to-date.
 | 
			
		||||
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
 | 
			
		||||
	// Verify that runtime/protoimpl is sufficiently up-to-date.
 | 
			
		||||
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// This is a compile-time assertion that a sufficiently up-to-date version
 | 
			
		||||
// of the legacy proto package is being used.
 | 
			
		||||
const _ = proto.ProtoPackageIsVersion4
 | 
			
		||||
 | 
			
		||||
// 服务认证策略
 | 
			
		||||
type HTTPAuthPolicy struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Id         int64  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 | 
			
		||||
	IsOn       bool   `protobuf:"varint,2,opt,name=isOn,proto3" json:"isOn,omitempty"`
 | 
			
		||||
	Name       string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
 | 
			
		||||
	Type       string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"`
 | 
			
		||||
	ParamsJSON []byte `protobuf:"bytes,5,opt,name=paramsJSON,proto3" json:"paramsJSON,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *HTTPAuthPolicy) Reset() {
 | 
			
		||||
	*x = HTTPAuthPolicy{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_models_model_http_auth_policy_proto_msgTypes[0]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *HTTPAuthPolicy) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*HTTPAuthPolicy) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *HTTPAuthPolicy) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_models_model_http_auth_policy_proto_msgTypes[0]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use HTTPAuthPolicy.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*HTTPAuthPolicy) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_models_model_http_auth_policy_proto_rawDescGZIP(), []int{0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *HTTPAuthPolicy) GetId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Id
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *HTTPAuthPolicy) GetIsOn() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.IsOn
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *HTTPAuthPolicy) GetName() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Name
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *HTTPAuthPolicy) GetType() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Type
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *HTTPAuthPolicy) GetParamsJSON() []byte {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ParamsJSON
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_models_model_http_auth_policy_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_models_model_http_auth_policy_proto_rawDesc = []byte{
 | 
			
		||||
	0x0a, 0x23, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x68,
 | 
			
		||||
	0x74, 0x74, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e,
 | 
			
		||||
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x7c, 0x0a, 0x0e, 0x48, 0x54, 0x54,
 | 
			
		||||
	0x50, 0x41, 0x75, 0x74, 0x68, 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, 0x69,
 | 
			
		||||
	0x73, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12,
 | 
			
		||||
	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
 | 
			
		||||
	0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d,
 | 
			
		||||
	0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x61, 0x72,
 | 
			
		||||
	0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62,
 | 
			
		||||
	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	file_models_model_http_auth_policy_proto_rawDescOnce sync.Once
 | 
			
		||||
	file_models_model_http_auth_policy_proto_rawDescData = file_models_model_http_auth_policy_proto_rawDesc
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func file_models_model_http_auth_policy_proto_rawDescGZIP() []byte {
 | 
			
		||||
	file_models_model_http_auth_policy_proto_rawDescOnce.Do(func() {
 | 
			
		||||
		file_models_model_http_auth_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_http_auth_policy_proto_rawDescData)
 | 
			
		||||
	})
 | 
			
		||||
	return file_models_model_http_auth_policy_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_models_model_http_auth_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
 | 
			
		||||
var file_models_model_http_auth_policy_proto_goTypes = []interface{}{
 | 
			
		||||
	(*HTTPAuthPolicy)(nil), // 0: pb.HTTPAuthPolicy
 | 
			
		||||
}
 | 
			
		||||
var file_models_model_http_auth_policy_proto_depIdxs = []int32{
 | 
			
		||||
	0, // [0:0] is the sub-list for method output_type
 | 
			
		||||
	0, // [0:0] is the sub-list for method input_type
 | 
			
		||||
	0, // [0:0] is the sub-list for extension type_name
 | 
			
		||||
	0, // [0:0] is the sub-list for extension extendee
 | 
			
		||||
	0, // [0:0] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_models_model_http_auth_policy_proto_init() }
 | 
			
		||||
func file_models_model_http_auth_policy_proto_init() {
 | 
			
		||||
	if File_models_model_http_auth_policy_proto != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	if !protoimpl.UnsafeEnabled {
 | 
			
		||||
		file_models_model_http_auth_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*HTTPAuthPolicy); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	type x struct{}
 | 
			
		||||
	out := protoimpl.TypeBuilder{
 | 
			
		||||
		File: protoimpl.DescBuilder{
 | 
			
		||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_models_model_http_auth_policy_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   1,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   0,
 | 
			
		||||
		},
 | 
			
		||||
		GoTypes:           file_models_model_http_auth_policy_proto_goTypes,
 | 
			
		||||
		DependencyIndexes: file_models_model_http_auth_policy_proto_depIdxs,
 | 
			
		||||
		MessageInfos:      file_models_model_http_auth_policy_proto_msgTypes,
 | 
			
		||||
	}.Build()
 | 
			
		||||
	File_models_model_http_auth_policy_proto = out.File
 | 
			
		||||
	file_models_model_http_auth_policy_proto_rawDesc = nil
 | 
			
		||||
	file_models_model_http_auth_policy_proto_goTypes = nil
 | 
			
		||||
	file_models_model_http_auth_policy_proto_depIdxs = nil
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										655
									
								
								pkg/rpc/pb/service_http_auth_policy.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										655
									
								
								pkg/rpc/pb/service_http_auth_policy.pb.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,655 @@
 | 
			
		||||
// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
			
		||||
// versions:
 | 
			
		||||
// 	protoc-gen-go v1.25.0
 | 
			
		||||
// 	protoc        v3.12.3
 | 
			
		||||
// source: service_http_auth_policy.proto
 | 
			
		||||
 | 
			
		||||
package pb
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	context "context"
 | 
			
		||||
	proto "github.com/golang/protobuf/proto"
 | 
			
		||||
	grpc "google.golang.org/grpc"
 | 
			
		||||
	codes "google.golang.org/grpc/codes"
 | 
			
		||||
	status "google.golang.org/grpc/status"
 | 
			
		||||
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 | 
			
		||||
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 | 
			
		||||
	reflect "reflect"
 | 
			
		||||
	sync "sync"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	// Verify that this generated code is sufficiently up-to-date.
 | 
			
		||||
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
 | 
			
		||||
	// Verify that runtime/protoimpl is sufficiently up-to-date.
 | 
			
		||||
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// This is a compile-time assertion that a sufficiently up-to-date version
 | 
			
		||||
// of the legacy proto package is being used.
 | 
			
		||||
const _ = proto.ProtoPackageIsVersion4
 | 
			
		||||
 | 
			
		||||
// 创建策略
 | 
			
		||||
type CreateHTTPAuthPolicyRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Name       string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 | 
			
		||||
	Type       string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
 | 
			
		||||
	ParamsJSON []byte `protobuf:"bytes,3,opt,name=paramsJSON,proto3" json:"paramsJSON,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateHTTPAuthPolicyRequest) Reset() {
 | 
			
		||||
	*x = CreateHTTPAuthPolicyRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_http_auth_policy_proto_msgTypes[0]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateHTTPAuthPolicyRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*CreateHTTPAuthPolicyRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *CreateHTTPAuthPolicyRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_http_auth_policy_proto_msgTypes[0]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use CreateHTTPAuthPolicyRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*CreateHTTPAuthPolicyRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_http_auth_policy_proto_rawDescGZIP(), []int{0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateHTTPAuthPolicyRequest) GetName() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Name
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateHTTPAuthPolicyRequest) GetType() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Type
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateHTTPAuthPolicyRequest) GetParamsJSON() []byte {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ParamsJSON
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type CreateHTTPAuthPolicyResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	HttpAuthPolicyId int64 `protobuf:"varint,1,opt,name=httpAuthPolicyId,proto3" json:"httpAuthPolicyId,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateHTTPAuthPolicyResponse) Reset() {
 | 
			
		||||
	*x = CreateHTTPAuthPolicyResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_http_auth_policy_proto_msgTypes[1]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateHTTPAuthPolicyResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*CreateHTTPAuthPolicyResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *CreateHTTPAuthPolicyResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_http_auth_policy_proto_msgTypes[1]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use CreateHTTPAuthPolicyResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*CreateHTTPAuthPolicyResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_http_auth_policy_proto_rawDescGZIP(), []int{1}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateHTTPAuthPolicyResponse) GetHttpAuthPolicyId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.HttpAuthPolicyId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 修改策略
 | 
			
		||||
type UpdateHTTPAuthPolicyRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	HttpAuthPolicyId int64  `protobuf:"varint,1,opt,name=httpAuthPolicyId,proto3" json:"httpAuthPolicyId,omitempty"`
 | 
			
		||||
	Name             string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
 | 
			
		||||
	ParamsJSON       []byte `protobuf:"bytes,3,opt,name=paramsJSON,proto3" json:"paramsJSON,omitempty"`
 | 
			
		||||
	IsOn             bool   `protobuf:"varint,4,opt,name=isOn,proto3" json:"isOn,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateHTTPAuthPolicyRequest) Reset() {
 | 
			
		||||
	*x = UpdateHTTPAuthPolicyRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_http_auth_policy_proto_msgTypes[2]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateHTTPAuthPolicyRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*UpdateHTTPAuthPolicyRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateHTTPAuthPolicyRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_http_auth_policy_proto_msgTypes[2]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use UpdateHTTPAuthPolicyRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*UpdateHTTPAuthPolicyRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_http_auth_policy_proto_rawDescGZIP(), []int{2}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateHTTPAuthPolicyRequest) GetHttpAuthPolicyId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.HttpAuthPolicyId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateHTTPAuthPolicyRequest) GetName() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Name
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateHTTPAuthPolicyRequest) GetParamsJSON() []byte {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ParamsJSON
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateHTTPAuthPolicyRequest) GetIsOn() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.IsOn
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查找策略信息
 | 
			
		||||
type FindEnabledHTTPAuthPolicyRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	HttpAuthPolicyId int64 `protobuf:"varint,1,opt,name=httpAuthPolicyId,proto3" json:"httpAuthPolicyId,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledHTTPAuthPolicyRequest) Reset() {
 | 
			
		||||
	*x = FindEnabledHTTPAuthPolicyRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_http_auth_policy_proto_msgTypes[3]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledHTTPAuthPolicyRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindEnabledHTTPAuthPolicyRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledHTTPAuthPolicyRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_http_auth_policy_proto_msgTypes[3]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindEnabledHTTPAuthPolicyRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindEnabledHTTPAuthPolicyRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_http_auth_policy_proto_rawDescGZIP(), []int{3}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledHTTPAuthPolicyRequest) GetHttpAuthPolicyId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.HttpAuthPolicyId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type FindEnabledHTTPAuthPolicyResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	HttpAuthPolicy *HTTPAuthPolicy `protobuf:"bytes,1,opt,name=httpAuthPolicy,proto3" json:"httpAuthPolicy,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledHTTPAuthPolicyResponse) Reset() {
 | 
			
		||||
	*x = FindEnabledHTTPAuthPolicyResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_http_auth_policy_proto_msgTypes[4]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledHTTPAuthPolicyResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindEnabledHTTPAuthPolicyResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledHTTPAuthPolicyResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_http_auth_policy_proto_msgTypes[4]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindEnabledHTTPAuthPolicyResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindEnabledHTTPAuthPolicyResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_http_auth_policy_proto_rawDescGZIP(), []int{4}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledHTTPAuthPolicyResponse) GetHttpAuthPolicy() *HTTPAuthPolicy {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.HttpAuthPolicy
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_service_http_auth_policy_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_service_http_auth_policy_proto_rawDesc = []byte{
 | 
			
		||||
	0x0a, 0x1e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x61,
 | 
			
		||||
	0x75, 0x74, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
 | 
			
		||||
	0x12, 0x02, 0x70, 0x62, 0x1a, 0x23, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x6c, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x6f, 0x6c,
 | 
			
		||||
	0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
 | 
			
		||||
	0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70,
 | 
			
		||||
	0x72, 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54,
 | 
			
		||||
	0x54, 0x50, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
 | 
			
		||||
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70,
 | 
			
		||||
	0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52,
 | 
			
		||||
	0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x4a, 0x0a, 0x1c, 0x43,
 | 
			
		||||
	0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c,
 | 
			
		||||
	0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x68,
 | 
			
		||||
	0x74, 0x74, 0x70, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18,
 | 
			
		||||
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x68, 0x74, 0x74, 0x70, 0x41, 0x75, 0x74, 0x68, 0x50,
 | 
			
		||||
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0x91, 0x01, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x68, 0x74, 0x74, 0x70, 0x41,
 | 
			
		||||
	0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x03, 0x52, 0x10, 0x68, 0x74, 0x74, 0x70, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63,
 | 
			
		||||
	0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d,
 | 
			
		||||
	0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x61, 0x72,
 | 
			
		||||
	0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18,
 | 
			
		||||
	0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x22, 0x4e, 0x0a, 0x20, 0x46,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x41, 0x75,
 | 
			
		||||
	0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
 | 
			
		||||
	0x2a, 0x0a, 0x10, 0x68, 0x74, 0x74, 0x70, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63,
 | 
			
		||||
	0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x68, 0x74, 0x74, 0x70, 0x41,
 | 
			
		||||
	0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x21, 0x46,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x41, 0x75,
 | 
			
		||||
	0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x3a, 0x0a, 0x0e, 0x68, 0x74, 0x74, 0x70, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69,
 | 
			
		||||
	0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x48, 0x54,
 | 
			
		||||
	0x54, 0x50, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0e, 0x68, 0x74,
 | 
			
		||||
	0x74, 0x70, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x32, 0xa5, 0x02, 0x0a,
 | 
			
		||||
	0x15, 0x48, 0x54, 0x54, 0x50, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53,
 | 
			
		||||
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x48, 0x54, 0x54, 0x50, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1f,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x41, 0x75,
 | 
			
		||||
	0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x20, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x41,
 | 
			
		||||
	0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x41,
 | 
			
		||||
	0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55,
 | 
			
		||||
	0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c,
 | 
			
		||||
	0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x41, 0x75, 0x74,
 | 
			
		||||
	0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
			
		||||
	0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x41, 0x75, 0x74, 0x68,
 | 
			
		||||
	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54,
 | 
			
		||||
	0x54, 0x50, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
 | 
			
		||||
	0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	file_service_http_auth_policy_proto_rawDescOnce sync.Once
 | 
			
		||||
	file_service_http_auth_policy_proto_rawDescData = file_service_http_auth_policy_proto_rawDesc
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func file_service_http_auth_policy_proto_rawDescGZIP() []byte {
 | 
			
		||||
	file_service_http_auth_policy_proto_rawDescOnce.Do(func() {
 | 
			
		||||
		file_service_http_auth_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_http_auth_policy_proto_rawDescData)
 | 
			
		||||
	})
 | 
			
		||||
	return file_service_http_auth_policy_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_service_http_auth_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
 | 
			
		||||
var file_service_http_auth_policy_proto_goTypes = []interface{}{
 | 
			
		||||
	(*CreateHTTPAuthPolicyRequest)(nil),       // 0: pb.CreateHTTPAuthPolicyRequest
 | 
			
		||||
	(*CreateHTTPAuthPolicyResponse)(nil),      // 1: pb.CreateHTTPAuthPolicyResponse
 | 
			
		||||
	(*UpdateHTTPAuthPolicyRequest)(nil),       // 2: pb.UpdateHTTPAuthPolicyRequest
 | 
			
		||||
	(*FindEnabledHTTPAuthPolicyRequest)(nil),  // 3: pb.FindEnabledHTTPAuthPolicyRequest
 | 
			
		||||
	(*FindEnabledHTTPAuthPolicyResponse)(nil), // 4: pb.FindEnabledHTTPAuthPolicyResponse
 | 
			
		||||
	(*HTTPAuthPolicy)(nil),                    // 5: pb.HTTPAuthPolicy
 | 
			
		||||
	(*RPCSuccess)(nil),                        // 6: pb.RPCSuccess
 | 
			
		||||
}
 | 
			
		||||
var file_service_http_auth_policy_proto_depIdxs = []int32{
 | 
			
		||||
	5, // 0: pb.FindEnabledHTTPAuthPolicyResponse.httpAuthPolicy:type_name -> pb.HTTPAuthPolicy
 | 
			
		||||
	0, // 1: pb.HTTPAuthPolicyService.createHTTPAuthPolicy:input_type -> pb.CreateHTTPAuthPolicyRequest
 | 
			
		||||
	2, // 2: pb.HTTPAuthPolicyService.updateHTTPAuthPolicy:input_type -> pb.UpdateHTTPAuthPolicyRequest
 | 
			
		||||
	3, // 3: pb.HTTPAuthPolicyService.findEnabledHTTPAuthPolicy:input_type -> pb.FindEnabledHTTPAuthPolicyRequest
 | 
			
		||||
	1, // 4: pb.HTTPAuthPolicyService.createHTTPAuthPolicy:output_type -> pb.CreateHTTPAuthPolicyResponse
 | 
			
		||||
	6, // 5: pb.HTTPAuthPolicyService.updateHTTPAuthPolicy:output_type -> pb.RPCSuccess
 | 
			
		||||
	4, // 6: pb.HTTPAuthPolicyService.findEnabledHTTPAuthPolicy:output_type -> pb.FindEnabledHTTPAuthPolicyResponse
 | 
			
		||||
	4, // [4:7] is the sub-list for method output_type
 | 
			
		||||
	1, // [1:4] is the sub-list for method input_type
 | 
			
		||||
	1, // [1:1] is the sub-list for extension type_name
 | 
			
		||||
	1, // [1:1] is the sub-list for extension extendee
 | 
			
		||||
	0, // [0:1] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_service_http_auth_policy_proto_init() }
 | 
			
		||||
func file_service_http_auth_policy_proto_init() {
 | 
			
		||||
	if File_service_http_auth_policy_proto != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	file_models_model_http_auth_policy_proto_init()
 | 
			
		||||
	file_models_rpc_messages_proto_init()
 | 
			
		||||
	if !protoimpl.UnsafeEnabled {
 | 
			
		||||
		file_service_http_auth_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*CreateHTTPAuthPolicyRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_http_auth_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*CreateHTTPAuthPolicyResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_http_auth_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*UpdateHTTPAuthPolicyRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_http_auth_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindEnabledHTTPAuthPolicyRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_http_auth_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindEnabledHTTPAuthPolicyResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	type x struct{}
 | 
			
		||||
	out := protoimpl.TypeBuilder{
 | 
			
		||||
		File: protoimpl.DescBuilder{
 | 
			
		||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_service_http_auth_policy_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   5,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
		GoTypes:           file_service_http_auth_policy_proto_goTypes,
 | 
			
		||||
		DependencyIndexes: file_service_http_auth_policy_proto_depIdxs,
 | 
			
		||||
		MessageInfos:      file_service_http_auth_policy_proto_msgTypes,
 | 
			
		||||
	}.Build()
 | 
			
		||||
	File_service_http_auth_policy_proto = out.File
 | 
			
		||||
	file_service_http_auth_policy_proto_rawDesc = nil
 | 
			
		||||
	file_service_http_auth_policy_proto_goTypes = nil
 | 
			
		||||
	file_service_http_auth_policy_proto_depIdxs = nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Reference imports to suppress errors if they are not otherwise used.
 | 
			
		||||
var _ context.Context
 | 
			
		||||
var _ grpc.ClientConnInterface
 | 
			
		||||
 | 
			
		||||
// This is a compile-time assertion to ensure that this generated file
 | 
			
		||||
// is compatible with the grpc package it is being compiled against.
 | 
			
		||||
const _ = grpc.SupportPackageIsVersion6
 | 
			
		||||
 | 
			
		||||
// HTTPAuthPolicyServiceClient is the client API for HTTPAuthPolicyService service.
 | 
			
		||||
//
 | 
			
		||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
 | 
			
		||||
type HTTPAuthPolicyServiceClient interface {
 | 
			
		||||
	// 创建策略
 | 
			
		||||
	CreateHTTPAuthPolicy(ctx context.Context, in *CreateHTTPAuthPolicyRequest, opts ...grpc.CallOption) (*CreateHTTPAuthPolicyResponse, error)
 | 
			
		||||
	// 修改策略
 | 
			
		||||
	UpdateHTTPAuthPolicy(ctx context.Context, in *UpdateHTTPAuthPolicyRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 查找策略信息
 | 
			
		||||
	FindEnabledHTTPAuthPolicy(ctx context.Context, in *FindEnabledHTTPAuthPolicyRequest, opts ...grpc.CallOption) (*FindEnabledHTTPAuthPolicyResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type hTTPAuthPolicyServiceClient struct {
 | 
			
		||||
	cc grpc.ClientConnInterface
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewHTTPAuthPolicyServiceClient(cc grpc.ClientConnInterface) HTTPAuthPolicyServiceClient {
 | 
			
		||||
	return &hTTPAuthPolicyServiceClient{cc}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *hTTPAuthPolicyServiceClient) CreateHTTPAuthPolicy(ctx context.Context, in *CreateHTTPAuthPolicyRequest, opts ...grpc.CallOption) (*CreateHTTPAuthPolicyResponse, error) {
 | 
			
		||||
	out := new(CreateHTTPAuthPolicyResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.HTTPAuthPolicyService/createHTTPAuthPolicy", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *hTTPAuthPolicyServiceClient) UpdateHTTPAuthPolicy(ctx context.Context, in *UpdateHTTPAuthPolicyRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.HTTPAuthPolicyService/updateHTTPAuthPolicy", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *hTTPAuthPolicyServiceClient) FindEnabledHTTPAuthPolicy(ctx context.Context, in *FindEnabledHTTPAuthPolicyRequest, opts ...grpc.CallOption) (*FindEnabledHTTPAuthPolicyResponse, error) {
 | 
			
		||||
	out := new(FindEnabledHTTPAuthPolicyResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.HTTPAuthPolicyService/findEnabledHTTPAuthPolicy", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// HTTPAuthPolicyServiceServer is the server API for HTTPAuthPolicyService service.
 | 
			
		||||
type HTTPAuthPolicyServiceServer interface {
 | 
			
		||||
	// 创建策略
 | 
			
		||||
	CreateHTTPAuthPolicy(context.Context, *CreateHTTPAuthPolicyRequest) (*CreateHTTPAuthPolicyResponse, error)
 | 
			
		||||
	// 修改策略
 | 
			
		||||
	UpdateHTTPAuthPolicy(context.Context, *UpdateHTTPAuthPolicyRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 查找策略信息
 | 
			
		||||
	FindEnabledHTTPAuthPolicy(context.Context, *FindEnabledHTTPAuthPolicyRequest) (*FindEnabledHTTPAuthPolicyResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnimplementedHTTPAuthPolicyServiceServer can be embedded to have forward compatible implementations.
 | 
			
		||||
type UnimplementedHTTPAuthPolicyServiceServer struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*UnimplementedHTTPAuthPolicyServiceServer) CreateHTTPAuthPolicy(context.Context, *CreateHTTPAuthPolicyRequest) (*CreateHTTPAuthPolicyResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method CreateHTTPAuthPolicy not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedHTTPAuthPolicyServiceServer) UpdateHTTPAuthPolicy(context.Context, *UpdateHTTPAuthPolicyRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method UpdateHTTPAuthPolicy not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedHTTPAuthPolicyServiceServer) FindEnabledHTTPAuthPolicy(context.Context, *FindEnabledHTTPAuthPolicyRequest) (*FindEnabledHTTPAuthPolicyResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindEnabledHTTPAuthPolicy not implemented")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RegisterHTTPAuthPolicyServiceServer(s *grpc.Server, srv HTTPAuthPolicyServiceServer) {
 | 
			
		||||
	s.RegisterService(&_HTTPAuthPolicyService_serviceDesc, srv)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _HTTPAuthPolicyService_CreateHTTPAuthPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(CreateHTTPAuthPolicyRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(HTTPAuthPolicyServiceServer).CreateHTTPAuthPolicy(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.HTTPAuthPolicyService/CreateHTTPAuthPolicy",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(HTTPAuthPolicyServiceServer).CreateHTTPAuthPolicy(ctx, req.(*CreateHTTPAuthPolicyRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _HTTPAuthPolicyService_UpdateHTTPAuthPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(UpdateHTTPAuthPolicyRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(HTTPAuthPolicyServiceServer).UpdateHTTPAuthPolicy(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.HTTPAuthPolicyService/UpdateHTTPAuthPolicy",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(HTTPAuthPolicyServiceServer).UpdateHTTPAuthPolicy(ctx, req.(*UpdateHTTPAuthPolicyRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _HTTPAuthPolicyService_FindEnabledHTTPAuthPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(FindEnabledHTTPAuthPolicyRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(HTTPAuthPolicyServiceServer).FindEnabledHTTPAuthPolicy(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.HTTPAuthPolicyService/FindEnabledHTTPAuthPolicy",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(HTTPAuthPolicyServiceServer).FindEnabledHTTPAuthPolicy(ctx, req.(*FindEnabledHTTPAuthPolicyRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _HTTPAuthPolicyService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
	ServiceName: "pb.HTTPAuthPolicyService",
 | 
			
		||||
	HandlerType: (*HTTPAuthPolicyServiceServer)(nil),
 | 
			
		||||
	Methods: []grpc.MethodDesc{
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "createHTTPAuthPolicy",
 | 
			
		||||
			Handler:    _HTTPAuthPolicyService_CreateHTTPAuthPolicy_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "updateHTTPAuthPolicy",
 | 
			
		||||
			Handler:    _HTTPAuthPolicyService_UpdateHTTPAuthPolicy_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "findEnabledHTTPAuthPolicy",
 | 
			
		||||
			Handler:    _HTTPAuthPolicyService_FindEnabledHTTPAuthPolicy_Handler,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	Streams:  []grpc.StreamDesc{},
 | 
			
		||||
	Metadata: "service_http_auth_policy.proto",
 | 
			
		||||
}
 | 
			
		||||
@@ -1361,6 +1361,62 @@ func (x *FindHTTPWebHostRedirectsResponse) GetHostRedirectsJSON() []byte {
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 更改认证设置
 | 
			
		||||
type UpdateHTTPWebAuthRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	WebId    int64  `protobuf:"varint,1,opt,name=webId,proto3" json:"webId,omitempty"`
 | 
			
		||||
	AuthJSON []byte `protobuf:"bytes,2,opt,name=authJSON,proto3" json:"authJSON,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateHTTPWebAuthRequest) Reset() {
 | 
			
		||||
	*x = UpdateHTTPWebAuthRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_http_web_proto_msgTypes[25]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateHTTPWebAuthRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*UpdateHTTPWebAuthRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateHTTPWebAuthRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_http_web_proto_msgTypes[25]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use UpdateHTTPWebAuthRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*UpdateHTTPWebAuthRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_http_web_proto_rawDescGZIP(), []int{25}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateHTTPWebAuthRequest) GetWebId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.WebId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateHTTPWebAuthRequest) GetAuthJSON() []byte {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.AuthJSON
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_service_http_web_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_service_http_web_proto_rawDesc = []byte{
 | 
			
		||||
@@ -1493,113 +1549,122 @@ var file_service_http_web_proto_rawDesc = []byte{
 | 
			
		||||
	0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x2c, 0x0a, 0x11, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63,
 | 
			
		||||
	0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x68, 0x6f,
 | 
			
		||||
	0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x32,
 | 
			
		||||
	0x80, 0x0d, 0x0a, 0x0e, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69,
 | 
			
		||||
	0x63, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
 | 
			
		||||
	0x57, 0x65, 0x62, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48,
 | 
			
		||||
	0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x12, 0x1d,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48,
 | 
			
		||||
	0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54,
 | 
			
		||||
	0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a,
 | 
			
		||||
	0x18, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50,
 | 
			
		||||
	0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46,
 | 
			
		||||
	0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22,
 | 
			
		||||
	0x4c, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
 | 
			
		||||
	0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x77,
 | 
			
		||||
	0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x77, 0x65, 0x62, 0x49,
 | 
			
		||||
	0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x68, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x0c, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x4a, 0x53, 0x4f, 0x4e, 0x32, 0xc3, 0x0d,
 | 
			
		||||
	0x0a, 0x0e, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
 | 
			
		||||
	0x12, 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
 | 
			
		||||
	0x62, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
 | 
			
		||||
	0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x12, 0x1d, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54,
 | 
			
		||||
	0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50,
 | 
			
		||||
	0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x18, 0x66,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
 | 
			
		||||
	0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48,
 | 
			
		||||
	0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
 | 
			
		||||
	0x54, 0x50, 0x57, 0x65, 0x62, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
 | 
			
		||||
	0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
 | 
			
		||||
	0x47, 0x7a, 0x69, 0x70, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x47, 0x7a, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
 | 
			
		||||
	0x57, 0x65, 0x62, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x68, 0x61,
 | 
			
		||||
	0x72, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x1a, 0x75,
 | 
			
		||||
	0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x55,
 | 
			
		||||
	0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
			
		||||
	0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43,
 | 
			
		||||
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54,
 | 
			
		||||
	0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
 | 
			
		||||
	0x57, 0x65, 0x62, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
 | 
			
		||||
	0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a,
 | 
			
		||||
	0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x47, 0x7a,
 | 
			
		||||
	0x69, 0x70, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
 | 
			
		||||
	0x54, 0x50, 0x57, 0x65, 0x62, 0x47, 0x7a, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x12, 0x55, 0x0a, 0x1b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
 | 
			
		||||
	0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12,
 | 
			
		||||
	0x26, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57,
 | 
			
		||||
	0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
 | 
			
		||||
	0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e,
 | 
			
		||||
	0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
 | 
			
		||||
	0x57, 0x65, 0x62, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x12, 0x43, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
 | 
			
		||||
	0x57, 0x65, 0x62, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
 | 
			
		||||
	0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x50, 0x61, 0x67, 0x65, 0x73,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
 | 
			
		||||
	0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f,
 | 
			
		||||
	0x67, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
 | 
			
		||||
	0x50, 0x57, 0x65, 0x62, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63,
 | 
			
		||||
	0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
 | 
			
		||||
	0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55,
 | 
			
		||||
	0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x74, 0x61, 0x74,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
 | 
			
		||||
	0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x1d, 0x2e,
 | 
			
		||||
	0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
 | 
			
		||||
	0x62, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
 | 
			
		||||
	0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x68, 0x61, 0x72, 0x73,
 | 
			
		||||
	0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
 | 
			
		||||
	0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x1a, 0x75, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x55,
 | 
			
		||||
	0x0a, 0x1b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
 | 
			
		||||
	0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x15,
 | 
			
		||||
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x69, 0x72,
 | 
			
		||||
	0x65, 0x77, 0x61, 0x6c, 0x6c, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
 | 
			
		||||
	0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
 | 
			
		||||
	0x50, 0x57, 0x65, 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63,
 | 
			
		||||
	0x63, 0x65, 0x73, 0x73, 0x12, 0x57, 0x0a, 0x1c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
 | 
			
		||||
	0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
 | 
			
		||||
	0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x20,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
 | 
			
		||||
	0x62, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x12, 0x43, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
 | 
			
		||||
	0x62, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x50, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
 | 
			
		||||
	0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
 | 
			
		||||
	0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12,
 | 
			
		||||
	0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57,
 | 
			
		||||
	0x65, 0x62, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
 | 
			
		||||
	0x57, 0x65, 0x62, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x74, 0x61, 0x74, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
 | 
			
		||||
	0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
 | 
			
		||||
	0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x1d, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x61,
 | 
			
		||||
	0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x15, 0x75, 0x70,
 | 
			
		||||
	0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x69, 0x72, 0x65, 0x77,
 | 
			
		||||
	0x61, 0x6c, 0x6c, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
 | 
			
		||||
	0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
 | 
			
		||||
	0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
 | 
			
		||||
	0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
 | 
			
		||||
	0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57,
 | 
			
		||||
	0x65, 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x12, 0x57, 0x0a, 0x1c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
 | 
			
		||||
	0x57, 0x65, 0x62, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x48, 0x54, 0x54,
 | 
			
		||||
	0x50, 0x53, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
 | 
			
		||||
	0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x48,
 | 
			
		||||
	0x54, 0x54, 0x50, 0x53, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x54,
 | 
			
		||||
	0x6f, 0x48, 0x54, 0x54, 0x50, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4b, 0x0a,
 | 
			
		||||
	0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x57, 0x65,
 | 
			
		||||
	0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63,
 | 
			
		||||
	0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x14, 0x75, 0x70,
 | 
			
		||||
	0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x61, 0x73, 0x74, 0x63,
 | 
			
		||||
	0x67, 0x69, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
 | 
			
		||||
	0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x61, 0x73, 0x74, 0x63, 0x67, 0x69, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
 | 
			
		||||
	0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73,
 | 
			
		||||
	0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
 | 
			
		||||
	0x57, 0x65, 0x62, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53,
 | 
			
		||||
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x1a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72,
 | 
			
		||||
	0x65, 0x63, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72,
 | 
			
		||||
	0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x65, 0x0a, 0x18, 0x66,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65,
 | 
			
		||||
	0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
			
		||||
	0x54, 0x54, 0x50, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4b, 0x0a, 0x16, 0x75,
 | 
			
		||||
	0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x57, 0x65, 0x62, 0x73,
 | 
			
		||||
	0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65,
 | 
			
		||||
	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
 | 
			
		||||
	0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x61, 0x73, 0x74, 0x63, 0x67, 0x69,
 | 
			
		||||
	0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
 | 
			
		||||
	0x57, 0x65, 0x62, 0x46, 0x61, 0x73, 0x74, 0x63, 0x67, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x12, 0x51, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57,
 | 
			
		||||
	0x65, 0x62, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x24,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
 | 
			
		||||
	0x62, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63,
 | 
			
		||||
	0x63, 0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x1a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
 | 
			
		||||
	0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63,
 | 
			
		||||
	0x74, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
 | 
			
		||||
	0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63,
 | 
			
		||||
	0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
 | 
			
		||||
	0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x65, 0x0a, 0x18, 0x66, 0x69, 0x6e,
 | 
			
		||||
	0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69,
 | 
			
		||||
	0x72, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73,
 | 
			
		||||
	0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
 | 
			
		||||
	0x6f, 0x33,
 | 
			
		||||
	0x72, 0x65, 0x63, 0x74, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48,
 | 
			
		||||
	0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65,
 | 
			
		||||
	0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52,
 | 
			
		||||
	0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
 | 
			
		||||
	0x62, 0x41, 0x75, 0x74, 0x68, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
 | 
			
		||||
	0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
@@ -1614,7 +1679,7 @@ func file_service_http_web_proto_rawDescGZIP() []byte {
 | 
			
		||||
	return file_service_http_web_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_service_http_web_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
 | 
			
		||||
var file_service_http_web_proto_msgTypes = make([]protoimpl.MessageInfo, 26)
 | 
			
		||||
var file_service_http_web_proto_goTypes = []interface{}{
 | 
			
		||||
	(*CreateHTTPWebRequest)(nil),                // 0: pb.CreateHTTPWebRequest
 | 
			
		||||
	(*CreateHTTPWebResponse)(nil),               // 1: pb.CreateHTTPWebResponse
 | 
			
		||||
@@ -1641,11 +1706,12 @@ var file_service_http_web_proto_goTypes = []interface{}{
 | 
			
		||||
	(*UpdateHTTPWebHostRedirectsRequest)(nil),   // 22: pb.UpdateHTTPWebHostRedirectsRequest
 | 
			
		||||
	(*FindHTTPWebHostRedirectsRequest)(nil),     // 23: pb.FindHTTPWebHostRedirectsRequest
 | 
			
		||||
	(*FindHTTPWebHostRedirectsResponse)(nil),    // 24: pb.FindHTTPWebHostRedirectsResponse
 | 
			
		||||
	(*HTTPWeb)(nil),                             // 25: pb.HTTPWeb
 | 
			
		||||
	(*RPCSuccess)(nil),                          // 26: pb.RPCSuccess
 | 
			
		||||
	(*UpdateHTTPWebAuthRequest)(nil),            // 25: pb.UpdateHTTPWebAuthRequest
 | 
			
		||||
	(*HTTPWeb)(nil),                             // 26: pb.HTTPWeb
 | 
			
		||||
	(*RPCSuccess)(nil),                          // 27: pb.RPCSuccess
 | 
			
		||||
}
 | 
			
		||||
var file_service_http_web_proto_depIdxs = []int32{
 | 
			
		||||
	25, // 0: pb.FindEnabledHTTPWebResponse.web:type_name -> pb.HTTPWeb
 | 
			
		||||
	26, // 0: pb.FindEnabledHTTPWebResponse.web:type_name -> pb.HTTPWeb
 | 
			
		||||
	0,  // 1: pb.HTTPWebService.createHTTPWeb:input_type -> pb.CreateHTTPWebRequest
 | 
			
		||||
	2,  // 2: pb.HTTPWebService.findEnabledHTTPWeb:input_type -> pb.FindEnabledHTTPWebRequest
 | 
			
		||||
	4,  // 3: pb.HTTPWebService.findEnabledHTTPWebConfig:input_type -> pb.FindEnabledHTTPWebConfigRequest
 | 
			
		||||
@@ -1667,29 +1733,31 @@ var file_service_http_web_proto_depIdxs = []int32{
 | 
			
		||||
	21, // 19: pb.HTTPWebService.updateHTTPWebRewriteRules:input_type -> pb.UpdateHTTPWebRewriteRulesRequest
 | 
			
		||||
	22, // 20: pb.HTTPWebService.updateHTTPWebHostRedirects:input_type -> pb.UpdateHTTPWebHostRedirectsRequest
 | 
			
		||||
	23, // 21: pb.HTTPWebService.findHTTPWebHostRedirects:input_type -> pb.FindHTTPWebHostRedirectsRequest
 | 
			
		||||
	1,  // 22: pb.HTTPWebService.createHTTPWeb:output_type -> pb.CreateHTTPWebResponse
 | 
			
		||||
	3,  // 23: pb.HTTPWebService.findEnabledHTTPWeb:output_type -> pb.FindEnabledHTTPWebResponse
 | 
			
		||||
	5,  // 24: pb.HTTPWebService.findEnabledHTTPWebConfig:output_type -> pb.FindEnabledHTTPWebConfigResponse
 | 
			
		||||
	26, // 25: pb.HTTPWebService.updateHTTPWeb:output_type -> pb.RPCSuccess
 | 
			
		||||
	26, // 26: pb.HTTPWebService.updateHTTPWebGzip:output_type -> pb.RPCSuccess
 | 
			
		||||
	26, // 27: pb.HTTPWebService.updateHTTPWebCharset:output_type -> pb.RPCSuccess
 | 
			
		||||
	26, // 28: pb.HTTPWebService.updateHTTPWebRequestHeader:output_type -> pb.RPCSuccess
 | 
			
		||||
	26, // 29: pb.HTTPWebService.updateHTTPWebResponseHeader:output_type -> pb.RPCSuccess
 | 
			
		||||
	26, // 30: pb.HTTPWebService.updateHTTPWebShutdown:output_type -> pb.RPCSuccess
 | 
			
		||||
	26, // 31: pb.HTTPWebService.updateHTTPWebPages:output_type -> pb.RPCSuccess
 | 
			
		||||
	26, // 32: pb.HTTPWebService.updateHTTPWebAccessLog:output_type -> pb.RPCSuccess
 | 
			
		||||
	26, // 33: pb.HTTPWebService.updateHTTPWebStat:output_type -> pb.RPCSuccess
 | 
			
		||||
	26, // 34: pb.HTTPWebService.updateHTTPWebCache:output_type -> pb.RPCSuccess
 | 
			
		||||
	26, // 35: pb.HTTPWebService.updateHTTPWebFirewall:output_type -> pb.RPCSuccess
 | 
			
		||||
	26, // 36: pb.HTTPWebService.updateHTTPWebLocations:output_type -> pb.RPCSuccess
 | 
			
		||||
	26, // 37: pb.HTTPWebService.updateHTTPWebRedirectToHTTPS:output_type -> pb.RPCSuccess
 | 
			
		||||
	26, // 38: pb.HTTPWebService.updateHTTPWebWebsocket:output_type -> pb.RPCSuccess
 | 
			
		||||
	26, // 39: pb.HTTPWebService.updateHTTPWebFastcgi:output_type -> pb.RPCSuccess
 | 
			
		||||
	26, // 40: pb.HTTPWebService.updateHTTPWebRewriteRules:output_type -> pb.RPCSuccess
 | 
			
		||||
	26, // 41: pb.HTTPWebService.updateHTTPWebHostRedirects:output_type -> pb.RPCSuccess
 | 
			
		||||
	24, // 42: pb.HTTPWebService.findHTTPWebHostRedirects:output_type -> pb.FindHTTPWebHostRedirectsResponse
 | 
			
		||||
	22, // [22:43] is the sub-list for method output_type
 | 
			
		||||
	1,  // [1:22] is the sub-list for method input_type
 | 
			
		||||
	25, // 22: pb.HTTPWebService.updateHTTPWebAuth:input_type -> pb.UpdateHTTPWebAuthRequest
 | 
			
		||||
	1,  // 23: pb.HTTPWebService.createHTTPWeb:output_type -> pb.CreateHTTPWebResponse
 | 
			
		||||
	3,  // 24: pb.HTTPWebService.findEnabledHTTPWeb:output_type -> pb.FindEnabledHTTPWebResponse
 | 
			
		||||
	5,  // 25: pb.HTTPWebService.findEnabledHTTPWebConfig:output_type -> pb.FindEnabledHTTPWebConfigResponse
 | 
			
		||||
	27, // 26: pb.HTTPWebService.updateHTTPWeb:output_type -> pb.RPCSuccess
 | 
			
		||||
	27, // 27: pb.HTTPWebService.updateHTTPWebGzip:output_type -> pb.RPCSuccess
 | 
			
		||||
	27, // 28: pb.HTTPWebService.updateHTTPWebCharset:output_type -> pb.RPCSuccess
 | 
			
		||||
	27, // 29: pb.HTTPWebService.updateHTTPWebRequestHeader:output_type -> pb.RPCSuccess
 | 
			
		||||
	27, // 30: pb.HTTPWebService.updateHTTPWebResponseHeader:output_type -> pb.RPCSuccess
 | 
			
		||||
	27, // 31: pb.HTTPWebService.updateHTTPWebShutdown:output_type -> pb.RPCSuccess
 | 
			
		||||
	27, // 32: pb.HTTPWebService.updateHTTPWebPages:output_type -> pb.RPCSuccess
 | 
			
		||||
	27, // 33: pb.HTTPWebService.updateHTTPWebAccessLog:output_type -> pb.RPCSuccess
 | 
			
		||||
	27, // 34: pb.HTTPWebService.updateHTTPWebStat:output_type -> pb.RPCSuccess
 | 
			
		||||
	27, // 35: pb.HTTPWebService.updateHTTPWebCache:output_type -> pb.RPCSuccess
 | 
			
		||||
	27, // 36: pb.HTTPWebService.updateHTTPWebFirewall:output_type -> pb.RPCSuccess
 | 
			
		||||
	27, // 37: pb.HTTPWebService.updateHTTPWebLocations:output_type -> pb.RPCSuccess
 | 
			
		||||
	27, // 38: pb.HTTPWebService.updateHTTPWebRedirectToHTTPS:output_type -> pb.RPCSuccess
 | 
			
		||||
	27, // 39: pb.HTTPWebService.updateHTTPWebWebsocket:output_type -> pb.RPCSuccess
 | 
			
		||||
	27, // 40: pb.HTTPWebService.updateHTTPWebFastcgi:output_type -> pb.RPCSuccess
 | 
			
		||||
	27, // 41: pb.HTTPWebService.updateHTTPWebRewriteRules:output_type -> pb.RPCSuccess
 | 
			
		||||
	27, // 42: pb.HTTPWebService.updateHTTPWebHostRedirects:output_type -> pb.RPCSuccess
 | 
			
		||||
	24, // 43: pb.HTTPWebService.findHTTPWebHostRedirects:output_type -> pb.FindHTTPWebHostRedirectsResponse
 | 
			
		||||
	27, // 44: pb.HTTPWebService.updateHTTPWebAuth:output_type -> pb.RPCSuccess
 | 
			
		||||
	23, // [23:45] is the sub-list for method output_type
 | 
			
		||||
	1,  // [1:23] is the sub-list for method input_type
 | 
			
		||||
	1,  // [1:1] is the sub-list for extension type_name
 | 
			
		||||
	1,  // [1:1] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:1] is the sub-list for field type_name
 | 
			
		||||
@@ -2003,6 +2071,18 @@ func file_service_http_web_proto_init() {
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_http_web_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*UpdateHTTPWebAuthRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	type x struct{}
 | 
			
		||||
	out := protoimpl.TypeBuilder{
 | 
			
		||||
@@ -2010,7 +2090,7 @@ func file_service_http_web_proto_init() {
 | 
			
		||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_service_http_web_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   25,
 | 
			
		||||
			NumMessages:   26,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
@@ -2078,6 +2158,8 @@ type HTTPWebServiceClient interface {
 | 
			
		||||
	UpdateHTTPWebHostRedirects(ctx context.Context, in *UpdateHTTPWebHostRedirectsRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 查找主机跳转设置
 | 
			
		||||
	FindHTTPWebHostRedirects(ctx context.Context, in *FindHTTPWebHostRedirectsRequest, opts ...grpc.CallOption) (*FindHTTPWebHostRedirectsResponse, error)
 | 
			
		||||
	// 更改认证设置
 | 
			
		||||
	UpdateHTTPWebAuth(ctx context.Context, in *UpdateHTTPWebAuthRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type hTTPWebServiceClient struct {
 | 
			
		||||
@@ -2277,6 +2359,15 @@ func (c *hTTPWebServiceClient) FindHTTPWebHostRedirects(ctx context.Context, in
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *hTTPWebServiceClient) UpdateHTTPWebAuth(ctx context.Context, in *UpdateHTTPWebAuthRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.HTTPWebService/updateHTTPWebAuth", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// HTTPWebServiceServer is the server API for HTTPWebService service.
 | 
			
		||||
type HTTPWebServiceServer interface {
 | 
			
		||||
	// 创建Web配置
 | 
			
		||||
@@ -2321,6 +2412,8 @@ type HTTPWebServiceServer interface {
 | 
			
		||||
	UpdateHTTPWebHostRedirects(context.Context, *UpdateHTTPWebHostRedirectsRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 查找主机跳转设置
 | 
			
		||||
	FindHTTPWebHostRedirects(context.Context, *FindHTTPWebHostRedirectsRequest) (*FindHTTPWebHostRedirectsResponse, error)
 | 
			
		||||
	// 更改认证设置
 | 
			
		||||
	UpdateHTTPWebAuth(context.Context, *UpdateHTTPWebAuthRequest) (*RPCSuccess, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnimplementedHTTPWebServiceServer can be embedded to have forward compatible implementations.
 | 
			
		||||
@@ -2390,6 +2483,9 @@ func (*UnimplementedHTTPWebServiceServer) UpdateHTTPWebHostRedirects(context.Con
 | 
			
		||||
func (*UnimplementedHTTPWebServiceServer) FindHTTPWebHostRedirects(context.Context, *FindHTTPWebHostRedirectsRequest) (*FindHTTPWebHostRedirectsResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindHTTPWebHostRedirects not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedHTTPWebServiceServer) UpdateHTTPWebAuth(context.Context, *UpdateHTTPWebAuthRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method UpdateHTTPWebAuth not implemented")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RegisterHTTPWebServiceServer(s *grpc.Server, srv HTTPWebServiceServer) {
 | 
			
		||||
	s.RegisterService(&_HTTPWebService_serviceDesc, srv)
 | 
			
		||||
@@ -2773,6 +2869,24 @@ func _HTTPWebService_FindHTTPWebHostRedirects_Handler(srv interface{}, ctx conte
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _HTTPWebService_UpdateHTTPWebAuth_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(UpdateHTTPWebAuthRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(HTTPWebServiceServer).UpdateHTTPWebAuth(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.HTTPWebService/UpdateHTTPWebAuth",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(HTTPWebServiceServer).UpdateHTTPWebAuth(ctx, req.(*UpdateHTTPWebAuthRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _HTTPWebService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
	ServiceName: "pb.HTTPWebService",
 | 
			
		||||
	HandlerType: (*HTTPWebServiceServer)(nil),
 | 
			
		||||
@@ -2861,6 +2975,10 @@ var _HTTPWebService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
			MethodName: "findHTTPWebHostRedirects",
 | 
			
		||||
			Handler:    _HTTPWebService_FindHTTPWebHostRedirects_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "updateHTTPWebAuth",
 | 
			
		||||
			Handler:    _HTTPWebService_UpdateHTTPWebAuth_Handler,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	Streams:  []grpc.StreamDesc{},
 | 
			
		||||
	Metadata: "service_http_web.proto",
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										13
									
								
								pkg/rpc/protos/models/model_http_auth_policy.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								pkg/rpc/protos/models/model_http_auth_policy.proto
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
syntax = "proto3";
 | 
			
		||||
option go_package = "./pb";
 | 
			
		||||
 | 
			
		||||
package pb;
 | 
			
		||||
 | 
			
		||||
// 服务认证策略
 | 
			
		||||
message HTTPAuthPolicy {
 | 
			
		||||
	int64 id = 1;
 | 
			
		||||
	bool isOn = 2;
 | 
			
		||||
	string name = 3;
 | 
			
		||||
	string type = 4;
 | 
			
		||||
	bytes paramsJSON = 5;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										47
									
								
								pkg/rpc/protos/service_http_auth_policy.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								pkg/rpc/protos/service_http_auth_policy.proto
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
			
		||||
syntax = "proto3";
 | 
			
		||||
option go_package = "./pb";
 | 
			
		||||
 | 
			
		||||
package pb;
 | 
			
		||||
 | 
			
		||||
import "models/model_http_auth_policy.proto";
 | 
			
		||||
import "models/rpc_messages.proto";
 | 
			
		||||
 | 
			
		||||
// 服务认证策略服务
 | 
			
		||||
service HTTPAuthPolicyService {
 | 
			
		||||
	// 创建策略
 | 
			
		||||
	rpc createHTTPAuthPolicy (CreateHTTPAuthPolicyRequest) returns (CreateHTTPAuthPolicyResponse);
 | 
			
		||||
 | 
			
		||||
	// 修改策略
 | 
			
		||||
	rpc updateHTTPAuthPolicy (UpdateHTTPAuthPolicyRequest) returns (RPCSuccess);
 | 
			
		||||
 | 
			
		||||
	// 查找策略信息
 | 
			
		||||
	rpc findEnabledHTTPAuthPolicy (FindEnabledHTTPAuthPolicyRequest) returns (FindEnabledHTTPAuthPolicyResponse);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 创建策略
 | 
			
		||||
message CreateHTTPAuthPolicyRequest {
 | 
			
		||||
	string name = 1;
 | 
			
		||||
	string type = 2;
 | 
			
		||||
	bytes paramsJSON = 3;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message CreateHTTPAuthPolicyResponse {
 | 
			
		||||
	int64 httpAuthPolicyId = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 修改策略
 | 
			
		||||
message UpdateHTTPAuthPolicyRequest {
 | 
			
		||||
	int64 httpAuthPolicyId = 1;
 | 
			
		||||
	string name = 2;
 | 
			
		||||
	bytes paramsJSON = 3;
 | 
			
		||||
	bool isOn = 4;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查找策略信息
 | 
			
		||||
message FindEnabledHTTPAuthPolicyRequest {
 | 
			
		||||
	int64 httpAuthPolicyId = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindEnabledHTTPAuthPolicyResponse {
 | 
			
		||||
	HTTPAuthPolicy httpAuthPolicy = 1;
 | 
			
		||||
}
 | 
			
		||||
@@ -69,6 +69,9 @@ service HTTPWebService {
 | 
			
		||||
 | 
			
		||||
	// 查找主机跳转设置
 | 
			
		||||
	rpc findHTTPWebHostRedirects (FindHTTPWebHostRedirectsRequest) returns (FindHTTPWebHostRedirectsResponse);
 | 
			
		||||
 | 
			
		||||
	// 更改认证设置
 | 
			
		||||
	rpc updateHTTPWebAuth (UpdateHTTPWebAuthRequest) returns (RPCSuccess);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 创建Web配置
 | 
			
		||||
@@ -207,4 +210,10 @@ message FindHTTPWebHostRedirectsRequest {
 | 
			
		||||
 | 
			
		||||
message FindHTTPWebHostRedirectsResponse {
 | 
			
		||||
	bytes hostRedirectsJSON = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 更改认证设置
 | 
			
		||||
message UpdateHTTPWebAuthRequest {
 | 
			
		||||
	int64 webId = 1;
 | 
			
		||||
	bytes authJSON = 2;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										70
									
								
								pkg/serverconfigs/http_auth_basic_method.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								pkg/serverconfigs/http_auth_basic_method.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,70 @@
 | 
			
		||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
 | 
			
		||||
 | 
			
		||||
package serverconfigs
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/base64"
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	stringutil "github.com/iwind/TeaGo/utils/string"
 | 
			
		||||
	"net/http"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// HTTPAuthBasicMethodUser BasicAuth中的用户
 | 
			
		||||
type HTTPAuthBasicMethodUser struct {
 | 
			
		||||
	Username string `json:"username"`
 | 
			
		||||
	Password string `json:"password"`
 | 
			
		||||
	Encoder  string `json:"encoding"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *HTTPAuthBasicMethodUser) Validate(password string) (bool, error) {
 | 
			
		||||
	switch this.Encoder {
 | 
			
		||||
	case "md5":
 | 
			
		||||
		return this.Password == stringutil.Md5(password), nil
 | 
			
		||||
	case "base64":
 | 
			
		||||
		return this.Password == base64.StdEncoding.EncodeToString([]byte(password)), nil
 | 
			
		||||
	default:
 | 
			
		||||
		return this.Password == password, nil
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// HTTPAuthBasicMethod BasicAuth方法定义
 | 
			
		||||
type HTTPAuthBasicMethod struct {
 | 
			
		||||
	Users []*HTTPAuthBasicMethodUser `json:"users"`
 | 
			
		||||
 | 
			
		||||
	userMap map[string]*HTTPAuthBasicMethodUser // username => *User
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewHTTPAuthBasicMethod() *HTTPAuthBasicMethod {
 | 
			
		||||
	return &HTTPAuthBasicMethod{}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *HTTPAuthBasicMethod) Init(params map[string]interface{}) error {
 | 
			
		||||
	this.userMap = map[string]*HTTPAuthBasicMethodUser{}
 | 
			
		||||
 | 
			
		||||
	paramsJSON, err := json.Marshal(params)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	err = json.Unmarshal(paramsJSON, this)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, user := range this.Users {
 | 
			
		||||
		this.userMap[user.Username] = user
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *HTTPAuthBasicMethod) Filter(req *http.Request, doSubReq func(subReq *http.Request) (status int, err error), formatter func(string) string) (bool, error) {
 | 
			
		||||
	username, password, ok := req.BasicAuth()
 | 
			
		||||
	if !ok {
 | 
			
		||||
		return false, nil
 | 
			
		||||
	}
 | 
			
		||||
	user, ok := this.userMap[username]
 | 
			
		||||
	if !ok {
 | 
			
		||||
		return false, nil
 | 
			
		||||
	}
 | 
			
		||||
	return user.Validate(password)
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										84
									
								
								pkg/serverconfigs/http_auth_basic_method_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								pkg/serverconfigs/http_auth_basic_method_test.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,84 @@
 | 
			
		||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
 | 
			
		||||
 | 
			
		||||
package serverconfigs
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/base64"
 | 
			
		||||
	"github.com/iwind/TeaGo/assert"
 | 
			
		||||
	"github.com/iwind/TeaGo/maps"
 | 
			
		||||
	stringutil "github.com/iwind/TeaGo/utils/string"
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"testing"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func TestHTTPAuthBasicMethodUser_Validate(t *testing.T) {
 | 
			
		||||
	a := assert.NewAssertion(t)
 | 
			
		||||
 | 
			
		||||
	{
 | 
			
		||||
		user := &HTTPAuthBasicMethodUser{
 | 
			
		||||
			Password: "123456",
 | 
			
		||||
		}
 | 
			
		||||
		b, err := user.Validate("123456")
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			t.Fatal(err)
 | 
			
		||||
		}
 | 
			
		||||
		a.IsTrue(b)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	{
 | 
			
		||||
		user := &HTTPAuthBasicMethodUser{
 | 
			
		||||
			Password: "654321",
 | 
			
		||||
		}
 | 
			
		||||
		b, err := user.Validate("123456")
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			t.Fatal(err)
 | 
			
		||||
		}
 | 
			
		||||
		a.IsFalse(b)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	{
 | 
			
		||||
		user := &HTTPAuthBasicMethodUser{
 | 
			
		||||
			Password: stringutil.Md5("123456"),
 | 
			
		||||
			Encoder:  "md5",
 | 
			
		||||
		}
 | 
			
		||||
		b, err := user.Validate("123456")
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			t.Fatal(err)
 | 
			
		||||
		}
 | 
			
		||||
		a.IsTrue(b)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	{
 | 
			
		||||
		user := &HTTPAuthBasicMethodUser{
 | 
			
		||||
			Password: base64.StdEncoding.EncodeToString([]byte("123456")),
 | 
			
		||||
			Encoder:  "base64",
 | 
			
		||||
		}
 | 
			
		||||
		b, err := user.Validate("123456")
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			t.Fatal(err)
 | 
			
		||||
		}
 | 
			
		||||
		a.IsTrue(b)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestHTTPAuthBasicMethod_Filter(t *testing.T) {
 | 
			
		||||
 | 
			
		||||
	method := &HTTPAuthBasicMethod{}
 | 
			
		||||
	err := method.Init(map[string]interface{}{
 | 
			
		||||
		"users": []maps.Map{
 | 
			
		||||
			{
 | 
			
		||||
				"username": "hello",
 | 
			
		||||
				"password": "world",
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
	req, err := http.NewRequest(http.MethodGet, "http://teaos.cn/", nil)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
	req.Header.Set("Authorization", "Basic "+base64.StdEncoding.EncodeToString([]byte("hello:world")))
 | 
			
		||||
	t.Log(method.Filter(req, nil, nil))
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										20
									
								
								pkg/serverconfigs/http_auth_config.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								pkg/serverconfigs/http_auth_config.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
 | 
			
		||||
 | 
			
		||||
package serverconfigs
 | 
			
		||||
 | 
			
		||||
// HTTPAuthConfig 认证配置
 | 
			
		||||
type HTTPAuthConfig struct {
 | 
			
		||||
	IsPrior    bool                 `yaml:"isPrior" json:"isPrior"`
 | 
			
		||||
	IsOn       bool                 `yaml:"isOn" json:"isOn"`
 | 
			
		||||
	PolicyRefs []*HTTPAuthPolicyRef `yaml:"policyRefs" json:"policyRefs"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *HTTPAuthConfig) Init() error {
 | 
			
		||||
	for _, ref := range this.PolicyRefs {
 | 
			
		||||
		err := ref.Init()
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										14
									
								
								pkg/serverconfigs/http_auth_method_interface.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								pkg/serverconfigs/http_auth_method_interface.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
 | 
			
		||||
 | 
			
		||||
package serverconfigs
 | 
			
		||||
 | 
			
		||||
import "net/http"
 | 
			
		||||
 | 
			
		||||
// HTTPAuthMethodInterface HTTP认证接口定义
 | 
			
		||||
type HTTPAuthMethodInterface interface {
 | 
			
		||||
	// Init 初始化
 | 
			
		||||
	Init(params map[string]interface{}) error
 | 
			
		||||
 | 
			
		||||
	// Filter 过滤
 | 
			
		||||
	Filter(req *http.Request, subReqFunc func(subReq *http.Request) (status int, err error), formatter func(string) string) (bool, error)
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										55
									
								
								pkg/serverconfigs/http_auth_policy.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								pkg/serverconfigs/http_auth_policy.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
			
		||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
 | 
			
		||||
 | 
			
		||||
package serverconfigs
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"errors"
 | 
			
		||||
	"net/http"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type HTTPAuthType = string
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	HTTPAuthTypeBasicAuth  HTTPAuthType = "basicAuth"  // BasicAuth
 | 
			
		||||
	HTTPAuthTypeSubRequest HTTPAuthType = "subRequest" // 子请求
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// HTTPAuthPolicy HTTP认证策略
 | 
			
		||||
type HTTPAuthPolicy struct {
 | 
			
		||||
	Id     int64                  `json:"id"`
 | 
			
		||||
	Name   string                 `json:"name"`
 | 
			
		||||
	IsOn   bool                   `json:"isOn"`
 | 
			
		||||
	Type   HTTPAuthType           `json:"type"`
 | 
			
		||||
	Params map[string]interface{} `json:"params"`
 | 
			
		||||
 | 
			
		||||
	method HTTPAuthMethodInterface
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Init 初始化
 | 
			
		||||
func (this *HTTPAuthPolicy) Init() error {
 | 
			
		||||
	switch this.Type {
 | 
			
		||||
	case HTTPAuthTypeBasicAuth:
 | 
			
		||||
		this.method = NewHTTPAuthBasicMethod()
 | 
			
		||||
	case HTTPAuthTypeSubRequest:
 | 
			
		||||
		this.method = NewHTTPAuthSubRequestMethod()
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if this.method == nil {
 | 
			
		||||
		return errors.New("unknown auth method '" + this.Type + "'")
 | 
			
		||||
	}
 | 
			
		||||
	err := this.method.Init(this.Params)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Filter 过滤
 | 
			
		||||
func (this *HTTPAuthPolicy) Filter(req *http.Request, subReqFunc func(subReq *http.Request) (status int, err error), formatter func(string) string) (bool, error) {
 | 
			
		||||
	if this.method == nil {
 | 
			
		||||
		// 如果设置正确的方法,我们直接允许请求
 | 
			
		||||
		return true, nil
 | 
			
		||||
	}
 | 
			
		||||
	return this.method.Filter(req, subReqFunc, formatter)
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										20
									
								
								pkg/serverconfigs/http_auth_policy_ref.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								pkg/serverconfigs/http_auth_policy_ref.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
 | 
			
		||||
 | 
			
		||||
package serverconfigs
 | 
			
		||||
 | 
			
		||||
// HTTPAuthPolicyRef 认证策略引用
 | 
			
		||||
type HTTPAuthPolicyRef struct {
 | 
			
		||||
	IsOn         bool            `yaml:"isOn" json:"isOn"`
 | 
			
		||||
	AuthPolicyId int64           `yaml:"authPolicyId" json:"authPolicyId"`
 | 
			
		||||
	AuthPolicy   *HTTPAuthPolicy `yaml:"authPolicy" json:"authPolicy"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *HTTPAuthPolicyRef) Init() error {
 | 
			
		||||
	if this.AuthPolicy != nil {
 | 
			
		||||
		err := this.AuthPolicy.Init()
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										96
									
								
								pkg/serverconfigs/http_auth_sub_request_method.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								pkg/serverconfigs/http_auth_sub_request_method.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,96 @@
 | 
			
		||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
 | 
			
		||||
 | 
			
		||||
package serverconfigs
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"crypto/tls"
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"regexp"
 | 
			
		||||
	"time"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var httpAuthSubRequestHTTPClient = &http.Client{
 | 
			
		||||
	Timeout: 10 * time.Second,
 | 
			
		||||
	Transport: &http.Transport{
 | 
			
		||||
		TLSClientConfig: &tls.Config{
 | 
			
		||||
			InsecureSkipVerify: true,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// HTTPAuthSubRequestMethod 使用URL认证
 | 
			
		||||
type HTTPAuthSubRequestMethod struct {
 | 
			
		||||
	URL    string `json:"url"`
 | 
			
		||||
	Method string `json:"method"`
 | 
			
		||||
 | 
			
		||||
	// TODO 增加自定义Header、超时、证书等
 | 
			
		||||
 | 
			
		||||
	isFullURL bool
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewHTTPAuthSubRequestMethod() *HTTPAuthSubRequestMethod {
 | 
			
		||||
	return &HTTPAuthSubRequestMethod{}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Init 初始化
 | 
			
		||||
func (this *HTTPAuthSubRequestMethod) Init(params map[string]interface{}) error {
 | 
			
		||||
	paramsJSON, err := json.Marshal(params)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	err = json.Unmarshal(paramsJSON, this)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 是否是完整的URL
 | 
			
		||||
	this.isFullURL = false
 | 
			
		||||
	if regexp.MustCompile(`^(?i)(http|https)://`).MatchString(this.URL) {
 | 
			
		||||
		this.isFullURL = true
 | 
			
		||||
	} else {
 | 
			
		||||
		if len(this.URL) == 0 || this.URL[0] != '/' {
 | 
			
		||||
			this.URL = "/" + this.URL
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Filter 过滤
 | 
			
		||||
func (this *HTTPAuthSubRequestMethod) Filter(req *http.Request, doSubReq func(subReq *http.Request) (status int, err error), formatter func(string) string) (bool, error) {
 | 
			
		||||
	var method = this.Method
 | 
			
		||||
	if len(method) == 0 {
 | 
			
		||||
		method = req.Method
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var url = formatter(this.URL)
 | 
			
		||||
	if !this.isFullURL {
 | 
			
		||||
		url = req.URL.Scheme + "://" + req.URL.Host + url
 | 
			
		||||
	}
 | 
			
		||||
	newReq, err := http.NewRequest(method, url, nil)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return false, err
 | 
			
		||||
	}
 | 
			
		||||
	for k, v := range req.Header {
 | 
			
		||||
		newReq.Header[k] = v
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if !this.isFullURL {
 | 
			
		||||
		status, err := doSubReq(newReq)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return false, err
 | 
			
		||||
		}
 | 
			
		||||
		return status >= 200 && status < 300, nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	resp, err := httpAuthSubRequestHTTPClient.Do(newReq)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return false, err
 | 
			
		||||
	}
 | 
			
		||||
	defer func() {
 | 
			
		||||
		_ = resp.Body.Close()
 | 
			
		||||
	}()
 | 
			
		||||
 | 
			
		||||
	return resp.StatusCode >= 200 && resp.StatusCode < 300, nil
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										64
									
								
								pkg/serverconfigs/http_auth_sub_request_method_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								pkg/serverconfigs/http_auth_sub_request_method_test.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,64 @@
 | 
			
		||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
 | 
			
		||||
 | 
			
		||||
package serverconfigs
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/iwind/TeaGo/rands"
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"strings"
 | 
			
		||||
	"testing"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func TestHTTPAuthRequestMethod_Filter(t *testing.T) {
 | 
			
		||||
	method := &HTTPAuthSubRequestMethod{}
 | 
			
		||||
	err := method.Init(map[string]interface{}{
 | 
			
		||||
		"url":    "http://127.0.0.1:2345/",
 | 
			
		||||
		"method": http.MethodPost,
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
	req, err := http.NewRequest(http.MethodGet, "https://teaos.cn/", nil)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
	req.Header.Set("Hello", "World")
 | 
			
		||||
	req.Header.Set("User-Agent", "GoEdge/1.0")
 | 
			
		||||
	b, err := method.Filter(req, func(subReq *http.Request) (status int, err error) {
 | 
			
		||||
		return
 | 
			
		||||
	}, func(s string) string {
 | 
			
		||||
		return s
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
	t.Log("result:", b)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestHTTPAuthRequestMethod_Filter_Path(t *testing.T) {
 | 
			
		||||
	method := &HTTPAuthSubRequestMethod{}
 | 
			
		||||
	err := method.Init(map[string]interface{}{
 | 
			
		||||
		"url":    "/hello?${var}",
 | 
			
		||||
		"method": http.MethodGet,
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
	req, err := http.NewRequest(http.MethodGet, "http://teaos.cn/", nil)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
	req.Header.Set("Hello", "World")
 | 
			
		||||
	req.Header.Set("User-Agent", "GoEdge/1.0")
 | 
			
		||||
	b, err := method.Filter(req, func(subReq *http.Request) (status int, err error) {
 | 
			
		||||
		status = rands.Int(200, 400)
 | 
			
		||||
		t.Log("execute sub request:", subReq.URL, status)
 | 
			
		||||
		return
 | 
			
		||||
	}, func(s string) string {
 | 
			
		||||
		return strings.ReplaceAll(s, "${var}", "$VAR")
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
	t.Log("result:", b)
 | 
			
		||||
}
 | 
			
		||||
@@ -39,6 +39,7 @@ type HTTPWebConfig struct {
 | 
			
		||||
	FilterPolicies []*HTTPFilterPolicy `yaml:"filterPolicies" json:"filterPolicies"` // 筛选策略
 | 
			
		||||
 | 
			
		||||
	HostRedirects []*HTTPHostRedirectConfig `yaml:"hostRedirects" json:"hostRedirects"` // 主机跳转
 | 
			
		||||
	Auth          *HTTPAuthConfig           `yaml:"auth" json:"auth"`                   // 认证配置
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *HTTPWebConfig) Init() error {
 | 
			
		||||
@@ -224,6 +225,14 @@ func (this *HTTPWebConfig) Init() error {
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// auth
 | 
			
		||||
	if this.Auth != nil {
 | 
			
		||||
		err := this.Auth.Init()
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user