generate facade service

This commit is contained in:
2025-01-20 21:17:47 +08:00
parent 57b1f544d4
commit 98273c7645
38 changed files with 3307 additions and 1 deletions
@@ -0,0 +1,15 @@
// Code generated by Fastpb v0.0.2. DO NOT EDIT.
package api
import (
fmt "fmt"
fastpb "github.com/cloudwego/fastpb"
descriptorpb "google.golang.org/protobuf/types/descriptorpb"
)
var (
_ = fmt.Errorf
_ = fastpb.Skip
)
var _ = descriptorpb.File_google_protobuf_descriptor_proto
+672
View File
@@ -0,0 +1,672 @@
// api.proto; 注解拓展
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc v5.29.2
// source: api.proto
package api
import (
context "context"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
descriptorpb "google.golang.org/protobuf/types/descriptorpb"
reflect "reflect"
)
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)
)
var file_api_proto_extTypes = []protoimpl.ExtensionInfo{
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50101,
Name: "api.raw_body",
Tag: "bytes,50101,opt,name=raw_body",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50102,
Name: "api.query",
Tag: "bytes,50102,opt,name=query",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50103,
Name: "api.header",
Tag: "bytes,50103,opt,name=header",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50104,
Name: "api.cookie",
Tag: "bytes,50104,opt,name=cookie",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50105,
Name: "api.body",
Tag: "bytes,50105,opt,name=body",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50106,
Name: "api.path",
Tag: "bytes,50106,opt,name=path",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50107,
Name: "api.vd",
Tag: "bytes,50107,opt,name=vd",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50108,
Name: "api.form",
Tag: "bytes,50108,opt,name=form",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50109,
Name: "api.js_conv",
Tag: "bytes,50109,opt,name=js_conv",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50110,
Name: "api.file_name",
Tag: "bytes,50110,opt,name=file_name",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50111,
Name: "api.none",
Tag: "bytes,50111,opt,name=none",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50131,
Name: "api.form_compatible",
Tag: "bytes,50131,opt,name=form_compatible",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50132,
Name: "api.js_conv_compatible",
Tag: "bytes,50132,opt,name=js_conv_compatible",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50133,
Name: "api.file_name_compatible",
Tag: "bytes,50133,opt,name=file_name_compatible",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50134,
Name: "api.none_compatible",
Tag: "bytes,50134,opt,name=none_compatible",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 51001,
Name: "api.go_tag",
Tag: "bytes,51001,opt,name=go_tag",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50201,
Name: "api.get",
Tag: "bytes,50201,opt,name=get",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50202,
Name: "api.post",
Tag: "bytes,50202,opt,name=post",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50203,
Name: "api.put",
Tag: "bytes,50203,opt,name=put",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50204,
Name: "api.delete",
Tag: "bytes,50204,opt,name=delete",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50205,
Name: "api.patch",
Tag: "bytes,50205,opt,name=patch",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50206,
Name: "api.options",
Tag: "bytes,50206,opt,name=options",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50207,
Name: "api.head",
Tag: "bytes,50207,opt,name=head",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50208,
Name: "api.any",
Tag: "bytes,50208,opt,name=any",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50301,
Name: "api.gen_path",
Tag: "bytes,50301,opt,name=gen_path",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50302,
Name: "api.api_version",
Tag: "bytes,50302,opt,name=api_version",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50303,
Name: "api.tag",
Tag: "bytes,50303,opt,name=tag",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50304,
Name: "api.name",
Tag: "bytes,50304,opt,name=name",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50305,
Name: "api.api_level",
Tag: "bytes,50305,opt,name=api_level",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50306,
Name: "api.serializer",
Tag: "bytes,50306,opt,name=serializer",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50307,
Name: "api.param",
Tag: "bytes,50307,opt,name=param",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50308,
Name: "api.baseurl",
Tag: "bytes,50308,opt,name=baseurl",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50309,
Name: "api.handler_path",
Tag: "bytes,50309,opt,name=handler_path",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50331,
Name: "api.handler_path_compatible",
Tag: "bytes,50331,opt,name=handler_path_compatible",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.EnumValueOptions)(nil),
ExtensionType: (*int32)(nil),
Field: 50401,
Name: "api.http_code",
Tag: "varint,50401,opt,name=http_code",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.ServiceOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50402,
Name: "api.base_domain",
Tag: "bytes,50402,opt,name=base_domain",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.ServiceOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50731,
Name: "api.base_domain_compatible",
Tag: "bytes,50731,opt,name=base_domain_compatible",
Filename: "api.proto",
},
{
ExtendedType: (*descriptorpb.MessageOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50830,
Name: "api.reserve",
Tag: "bytes,50830,opt,name=reserve",
Filename: "api.proto",
},
}
// Extension fields to descriptorpb.FieldOptions.
var (
// optional string raw_body = 50101;
E_RawBody = &file_api_proto_extTypes[0]
// optional string query = 50102;
E_Query = &file_api_proto_extTypes[1]
// optional string header = 50103;
E_Header = &file_api_proto_extTypes[2]
// optional string cookie = 50104;
E_Cookie = &file_api_proto_extTypes[3]
// optional string body = 50105;
E_Body = &file_api_proto_extTypes[4]
// optional string path = 50106;
E_Path = &file_api_proto_extTypes[5]
// optional string vd = 50107;
E_Vd = &file_api_proto_extTypes[6]
// optional string form = 50108;
E_Form = &file_api_proto_extTypes[7]
// optional string js_conv = 50109;
E_JsConv = &file_api_proto_extTypes[8]
// optional string file_name = 50110;
E_FileName = &file_api_proto_extTypes[9]
// optional string none = 50111;
E_None = &file_api_proto_extTypes[10]
// 50131~50160 used to extend field option by hz
//
// optional string form_compatible = 50131;
E_FormCompatible = &file_api_proto_extTypes[11]
// optional string js_conv_compatible = 50132;
E_JsConvCompatible = &file_api_proto_extTypes[12]
// optional string file_name_compatible = 50133;
E_FileNameCompatible = &file_api_proto_extTypes[13]
// optional string none_compatible = 50134;
E_NoneCompatible = &file_api_proto_extTypes[14]
// optional string go_tag = 51001;
E_GoTag = &file_api_proto_extTypes[15]
)
// Extension fields to descriptorpb.MethodOptions.
var (
// optional string get = 50201;
E_Get = &file_api_proto_extTypes[16]
// optional string post = 50202;
E_Post = &file_api_proto_extTypes[17]
// optional string put = 50203;
E_Put = &file_api_proto_extTypes[18]
// optional string delete = 50204;
E_Delete = &file_api_proto_extTypes[19]
// optional string patch = 50205;
E_Patch = &file_api_proto_extTypes[20]
// optional string options = 50206;
E_Options = &file_api_proto_extTypes[21]
// optional string head = 50207;
E_Head = &file_api_proto_extTypes[22]
// optional string any = 50208;
E_Any = &file_api_proto_extTypes[23]
// optional string gen_path = 50301;
E_GenPath = &file_api_proto_extTypes[24] // The path specified by the user when the client code is generated, with a higher priority than api_version
// optional string api_version = 50302;
E_ApiVersion = &file_api_proto_extTypes[25] // Specify the value of the :version variable in path when the client code is generated
// optional string tag = 50303;
E_Tag = &file_api_proto_extTypes[26] // rpc tag, can be multiple, separated by commas
// optional string name = 50304;
E_Name = &file_api_proto_extTypes[27] // Name of rpc
// optional string api_level = 50305;
E_ApiLevel = &file_api_proto_extTypes[28] // Interface Level
// optional string serializer = 50306;
E_Serializer = &file_api_proto_extTypes[29] // Serialization method
// optional string param = 50307;
E_Param = &file_api_proto_extTypes[30] // Whether client requests take public parameters
// optional string baseurl = 50308;
E_Baseurl = &file_api_proto_extTypes[31] // Baseurl used in ttnet routing
// optional string handler_path = 50309;
E_HandlerPath = &file_api_proto_extTypes[32] // handler_path specifies the path to generate the method
// 50331~50360 used to extend method option by hz
//
// optional string handler_path_compatible = 50331;
E_HandlerPathCompatible = &file_api_proto_extTypes[33] // handler_path specifies the path to generate the method
)
// Extension fields to descriptorpb.EnumValueOptions.
var (
// optional int32 http_code = 50401;
E_HttpCode = &file_api_proto_extTypes[34]
)
// Extension fields to descriptorpb.ServiceOptions.
var (
// optional string base_domain = 50402;
E_BaseDomain = &file_api_proto_extTypes[35]
// 50731~50760 used to extend service option by hz
//
// optional string base_domain_compatible = 50731;
E_BaseDomainCompatible = &file_api_proto_extTypes[36]
)
// Extension fields to descriptorpb.MessageOptions.
var (
// optional string reserve = 50830;
E_Reserve = &file_api_proto_extTypes[37]
)
var File_api_proto protoreflect.FileDescriptor
var file_api_proto_rawDesc = []byte{
0x0a, 0x09, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69,
0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x3a, 0x3a, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x1d,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb5, 0x87,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x61, 0x77, 0x42, 0x6f, 0x64, 0x79, 0x3a, 0x35,
0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb6, 0x87, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x71, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x37, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12,
0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb7,
0x87, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x3a, 0x37,
0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64,
0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb8, 0x87, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x3a, 0x33, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12,
0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb9,
0x87, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x3a, 0x33, 0x0a, 0x04,
0x70, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x18, 0xba, 0x87, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74,
0x68, 0x3a, 0x2f, 0x0a, 0x02, 0x76, 0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xbb, 0x87, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x76, 0x64, 0x3a, 0x33, 0x0a, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65,
0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xbc, 0x87, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x38, 0x0a, 0x07, 0x6a, 0x73, 0x5f, 0x63, 0x6f,
0x6e, 0x76, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x18, 0xbd, 0x87, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x73, 0x43, 0x6f, 0x6e,
0x76, 0x3a, 0x3c, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xbe, 0x87,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x3a,
0x33, 0x0a, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xbf, 0x87, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x6e, 0x6f, 0x6e, 0x65, 0x3a, 0x48, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x63, 0x6f, 0x6d,
0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xd3, 0x87, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
0x66, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x3a, 0x4d,
0x0a, 0x12, 0x6a, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74,
0x69, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x18, 0xd4, 0x87, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6a, 0x73, 0x43,
0x6f, 0x6e, 0x76, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x3a, 0x51, 0x0a,
0x14, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61,
0x74, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0xd5, 0x87, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, 0x69,
0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65,
0x3a, 0x48, 0x0a, 0x0f, 0x6e, 0x6f, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69,
0x62, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x18, 0xd6, 0x87, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x6e, 0x65,
0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x3a, 0x36, 0x0a, 0x06, 0x67, 0x6f,
0x5f, 0x74, 0x61, 0x67, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x18, 0xb9, 0x8e, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x6f, 0x54,
0x61, 0x67, 0x3a, 0x32, 0x0a, 0x03, 0x67, 0x65, 0x74, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68,
0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x99, 0x88, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x67, 0x65, 0x74, 0x3a, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x12, 0x1e,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9a,
0x88, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x3a, 0x32, 0x0a, 0x03,
0x70, 0x75, 0x74, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x18, 0x9b, 0x88, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x75, 0x74,
0x3a, 0x38, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74,
0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9c, 0x88, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x36, 0x0a, 0x05, 0x70, 0x61,
0x74, 0x63, 0x68, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x18, 0x9d, 0x88, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74,
0x63, 0x68, 0x3a, 0x3a, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9e, 0x88,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x34,
0x0a, 0x04, 0x68, 0x65, 0x61, 0x64, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9f, 0x88, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x68, 0x65, 0x61, 0x64, 0x3a, 0x32, 0x0a, 0x03, 0x61, 0x6e, 0x79, 0x12, 0x1e, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65,
0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa0, 0x88, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x6e, 0x79, 0x3a, 0x3b, 0x0a, 0x08, 0x67, 0x65, 0x6e, 0x5f,
0x70, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0xfd, 0x88, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x65,
0x6e, 0x50, 0x61, 0x74, 0x68, 0x3a, 0x41, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0xfe, 0x88, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70,
0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x32, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x12,
0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
0xff, 0x88, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x3a, 0x34, 0x0a, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x80, 0x89, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x3a, 0x3d, 0x0a, 0x09, 0x61, 0x70, 0x69, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12,
0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
0x81, 0x89, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x70, 0x69, 0x4c, 0x65, 0x76, 0x65,
0x6c, 0x3a, 0x40, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x12,
0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
0x82, 0x89, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69,
0x7a, 0x65, 0x72, 0x3a, 0x36, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1e, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d,
0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x83, 0x89, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x3a, 0x3a, 0x0a, 0x07, 0x62,
0x61, 0x73, 0x65, 0x75, 0x72, 0x6c, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x84, 0x89, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x62, 0x61, 0x73, 0x65, 0x75, 0x72, 0x6c, 0x3a, 0x43, 0x0a, 0x0c, 0x68, 0x61, 0x6e, 0x64, 0x6c,
0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64,
0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x85, 0x89, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0b, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x3a, 0x58, 0x0a, 0x17,
0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6d,
0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64,
0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9b, 0x89, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x15, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x43, 0x6f, 0x6d, 0x70,
0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x3a, 0x40, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63,
0x6f, 0x64, 0x65, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe1, 0x89, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
0x68, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x3a, 0x42, 0x0a, 0x0b, 0x62, 0x61, 0x73, 0x65,
0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe2, 0x89, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x3a, 0x57, 0x0a, 0x16,
0x62, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x70,
0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xab, 0x8c, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x14, 0x62, 0x61, 0x73, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x61,
0x74, 0x69, 0x62, 0x6c, 0x65, 0x3a, 0x3b, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65,
0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x18, 0x8e, 0x8d, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72,
0x76, 0x65, 0x42, 0x3e, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
0x2f, 0x73, 0x75, 0x79, 0x69, 0x69, 0x79, 0x69, 0x69, 0x2f, 0x68, 0x65, 0x72, 0x74, 0x7a, 0x31,
0x30, 0x31, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x2f, 0x6b, 0x69, 0x74, 0x65, 0x78,
0x5f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x77, 0x67, 0x6f, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x61,
0x70, 0x69,
}
var file_api_proto_goTypes = []interface{}{
(*descriptorpb.FieldOptions)(nil), // 0: google.protobuf.FieldOptions
(*descriptorpb.MethodOptions)(nil), // 1: google.protobuf.MethodOptions
(*descriptorpb.EnumValueOptions)(nil), // 2: google.protobuf.EnumValueOptions
(*descriptorpb.ServiceOptions)(nil), // 3: google.protobuf.ServiceOptions
(*descriptorpb.MessageOptions)(nil), // 4: google.protobuf.MessageOptions
}
var file_api_proto_depIdxs = []int32{
0, // 0: api.raw_body:extendee -> google.protobuf.FieldOptions
0, // 1: api.query:extendee -> google.protobuf.FieldOptions
0, // 2: api.header:extendee -> google.protobuf.FieldOptions
0, // 3: api.cookie:extendee -> google.protobuf.FieldOptions
0, // 4: api.body:extendee -> google.protobuf.FieldOptions
0, // 5: api.path:extendee -> google.protobuf.FieldOptions
0, // 6: api.vd:extendee -> google.protobuf.FieldOptions
0, // 7: api.form:extendee -> google.protobuf.FieldOptions
0, // 8: api.js_conv:extendee -> google.protobuf.FieldOptions
0, // 9: api.file_name:extendee -> google.protobuf.FieldOptions
0, // 10: api.none:extendee -> google.protobuf.FieldOptions
0, // 11: api.form_compatible:extendee -> google.protobuf.FieldOptions
0, // 12: api.js_conv_compatible:extendee -> google.protobuf.FieldOptions
0, // 13: api.file_name_compatible:extendee -> google.protobuf.FieldOptions
0, // 14: api.none_compatible:extendee -> google.protobuf.FieldOptions
0, // 15: api.go_tag:extendee -> google.protobuf.FieldOptions
1, // 16: api.get:extendee -> google.protobuf.MethodOptions
1, // 17: api.post:extendee -> google.protobuf.MethodOptions
1, // 18: api.put:extendee -> google.protobuf.MethodOptions
1, // 19: api.delete:extendee -> google.protobuf.MethodOptions
1, // 20: api.patch:extendee -> google.protobuf.MethodOptions
1, // 21: api.options:extendee -> google.protobuf.MethodOptions
1, // 22: api.head:extendee -> google.protobuf.MethodOptions
1, // 23: api.any:extendee -> google.protobuf.MethodOptions
1, // 24: api.gen_path:extendee -> google.protobuf.MethodOptions
1, // 25: api.api_version:extendee -> google.protobuf.MethodOptions
1, // 26: api.tag:extendee -> google.protobuf.MethodOptions
1, // 27: api.name:extendee -> google.protobuf.MethodOptions
1, // 28: api.api_level:extendee -> google.protobuf.MethodOptions
1, // 29: api.serializer:extendee -> google.protobuf.MethodOptions
1, // 30: api.param:extendee -> google.protobuf.MethodOptions
1, // 31: api.baseurl:extendee -> google.protobuf.MethodOptions
1, // 32: api.handler_path:extendee -> google.protobuf.MethodOptions
1, // 33: api.handler_path_compatible:extendee -> google.protobuf.MethodOptions
2, // 34: api.http_code:extendee -> google.protobuf.EnumValueOptions
3, // 35: api.base_domain:extendee -> google.protobuf.ServiceOptions
3, // 36: api.base_domain_compatible:extendee -> google.protobuf.ServiceOptions
4, // 37: api.reserve:extendee -> google.protobuf.MessageOptions
38, // [38:38] is the sub-list for method output_type
38, // [38:38] is the sub-list for method input_type
38, // [38:38] is the sub-list for extension type_name
0, // [0:38] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_api_proto_init() }
func file_api_proto_init() {
if File_api_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_api_proto_rawDesc,
NumEnums: 0,
NumMessages: 0,
NumExtensions: 38,
NumServices: 0,
},
GoTypes: file_api_proto_goTypes,
DependencyIndexes: file_api_proto_depIdxs,
ExtensionInfos: file_api_proto_extTypes,
}.Build()
File_api_proto = out.File
file_api_proto_rawDesc = nil
file_api_proto_goTypes = nil
file_api_proto_depIdxs = nil
}
var _ context.Context
+167
View File
@@ -0,0 +1,167 @@
// Code generated by Fastpb v0.0.2. DO NOT EDIT.
package facade
import (
fmt "fmt"
fastpb "github.com/cloudwego/fastpb"
api "github.com/suyiiyii/hertz101/rpc_gen/kitex_gen/cwgo/http/api"
)
var (
_ = fmt.Errorf
_ = fastpb.Skip
)
func (x *LoginReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) {
switch number {
case 1:
offset, err = x.fastReadField1(buf, _type)
if err != nil {
goto ReadFieldError
}
case 2:
offset, err = x.fastReadField2(buf, _type)
if err != nil {
goto ReadFieldError
}
default:
offset, err = fastpb.Skip(buf, _type, number)
if err != nil {
goto SkipFieldError
}
}
return offset, nil
SkipFieldError:
return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err)
ReadFieldError:
return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_LoginReq[number], err)
}
func (x *LoginReq) fastReadField1(buf []byte, _type int8) (offset int, err error) {
x.Username, offset, err = fastpb.ReadString(buf, _type)
return offset, err
}
func (x *LoginReq) fastReadField2(buf []byte, _type int8) (offset int, err error) {
x.Password, offset, err = fastpb.ReadString(buf, _type)
return offset, err
}
func (x *LoginResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) {
switch number {
case 1:
offset, err = x.fastReadField1(buf, _type)
if err != nil {
goto ReadFieldError
}
default:
offset, err = fastpb.Skip(buf, _type, number)
if err != nil {
goto SkipFieldError
}
}
return offset, nil
SkipFieldError:
return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err)
ReadFieldError:
return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_LoginResp[number], err)
}
func (x *LoginResp) fastReadField1(buf []byte, _type int8) (offset int, err error) {
x.Token, offset, err = fastpb.ReadString(buf, _type)
return offset, err
}
func (x *LoginReq) FastWrite(buf []byte) (offset int) {
if x == nil {
return offset
}
offset += x.fastWriteField1(buf[offset:])
offset += x.fastWriteField2(buf[offset:])
return offset
}
func (x *LoginReq) fastWriteField1(buf []byte) (offset int) {
if x.Username == "" {
return offset
}
offset += fastpb.WriteString(buf[offset:], 1, x.GetUsername())
return offset
}
func (x *LoginReq) fastWriteField2(buf []byte) (offset int) {
if x.Password == "" {
return offset
}
offset += fastpb.WriteString(buf[offset:], 2, x.GetPassword())
return offset
}
func (x *LoginResp) FastWrite(buf []byte) (offset int) {
if x == nil {
return offset
}
offset += x.fastWriteField1(buf[offset:])
return offset
}
func (x *LoginResp) fastWriteField1(buf []byte) (offset int) {
if x.Token == "" {
return offset
}
offset += fastpb.WriteString(buf[offset:], 1, x.GetToken())
return offset
}
func (x *LoginReq) Size() (n int) {
if x == nil {
return n
}
n += x.sizeField1()
n += x.sizeField2()
return n
}
func (x *LoginReq) sizeField1() (n int) {
if x.Username == "" {
return n
}
n += fastpb.SizeString(1, x.GetUsername())
return n
}
func (x *LoginReq) sizeField2() (n int) {
if x.Password == "" {
return n
}
n += fastpb.SizeString(2, x.GetPassword())
return n
}
func (x *LoginResp) Size() (n int) {
if x == nil {
return n
}
n += x.sizeField1()
return n
}
func (x *LoginResp) sizeField1() (n int) {
if x.Token == "" {
return n
}
n += fastpb.SizeString(1, x.GetToken())
return n
}
var fieldIDToName_LoginReq = map[int32]string{
1: "Username",
2: "Password",
}
var fieldIDToName_LoginResp = map[int32]string{
1: "Token",
}
var _ = api.File_api_proto
+234
View File
@@ -0,0 +1,234 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc v5.29.2
// source: facade/facade.proto
package facade
import (
context "context"
_ "github.com/suyiiyii/hertz101/rpc_gen/kitex_gen/cwgo/http/api"
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)
)
type LoginReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
}
func (x *LoginReq) Reset() {
*x = LoginReq{}
if protoimpl.UnsafeEnabled {
mi := &file_facade_facade_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LoginReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LoginReq) ProtoMessage() {}
func (x *LoginReq) ProtoReflect() protoreflect.Message {
mi := &file_facade_facade_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 LoginReq.ProtoReflect.Descriptor instead.
func (*LoginReq) Descriptor() ([]byte, []int) {
return file_facade_facade_proto_rawDescGZIP(), []int{0}
}
func (x *LoginReq) GetUsername() string {
if x != nil {
return x.Username
}
return ""
}
func (x *LoginReq) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
type LoginResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
}
func (x *LoginResp) Reset() {
*x = LoginResp{}
if protoimpl.UnsafeEnabled {
mi := &file_facade_facade_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LoginResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LoginResp) ProtoMessage() {}
func (x *LoginResp) ProtoReflect() protoreflect.Message {
mi := &file_facade_facade_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 LoginResp.ProtoReflect.Descriptor instead.
func (*LoginResp) Descriptor() ([]byte, []int) {
return file_facade_facade_proto_rawDescGZIP(), []int{1}
}
func (x *LoginResp) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
var File_facade_facade_proto protoreflect.FileDescriptor
var file_facade_facade_proto_rawDesc = []byte{
0x0a, 0x13, 0x66, 0x61, 0x63, 0x61, 0x64, 0x65, 0x2f, 0x66, 0x61, 0x63, 0x61, 0x64, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x1a,
0x09, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x42, 0x0a, 0x08, 0x4c, 0x6f,
0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x21,
0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74,
0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0x32, 0x45, 0x0a, 0x0f, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x12, 0x2e,
0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65,
0x71, 0x1a, 0x13, 0x2e, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x2e, 0x4c, 0x6f, 0x67,
0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68,
0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x75, 0x79, 0x69, 0x69, 0x79, 0x69, 0x69, 0x2f,
0x68, 0x65, 0x72, 0x74, 0x7a, 0x31, 0x30, 0x31, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x67, 0x65, 0x6e,
0x2f, 0x6b, 0x69, 0x74, 0x65, 0x78, 0x5f, 0x67, 0x65, 0x6e, 0x2f, 0x66, 0x61, 0x63, 0x61, 0x64,
0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_facade_facade_proto_rawDescOnce sync.Once
file_facade_facade_proto_rawDescData = file_facade_facade_proto_rawDesc
)
func file_facade_facade_proto_rawDescGZIP() []byte {
file_facade_facade_proto_rawDescOnce.Do(func() {
file_facade_facade_proto_rawDescData = protoimpl.X.CompressGZIP(file_facade_facade_proto_rawDescData)
})
return file_facade_facade_proto_rawDescData
}
var file_facade_facade_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_facade_facade_proto_goTypes = []interface{}{
(*LoginReq)(nil), // 0: frontend.LoginReq
(*LoginResp)(nil), // 1: frontend.LoginResp
}
var file_facade_facade_proto_depIdxs = []int32{
0, // 0: frontend.FrontendService.Login:input_type -> frontend.LoginReq
1, // 1: frontend.FrontendService.Login:output_type -> frontend.LoginResp
1, // [1:2] is the sub-list for method output_type
0, // [0:1] 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_facade_facade_proto_init() }
func file_facade_facade_proto_init() {
if File_facade_facade_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_facade_facade_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LoginReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_facade_facade_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LoginResp); 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_facade_facade_proto_rawDesc,
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_facade_facade_proto_goTypes,
DependencyIndexes: file_facade_facade_proto_depIdxs,
MessageInfos: file_facade_facade_proto_msgTypes,
}.Build()
File_facade_facade_proto = out.File
file_facade_facade_proto_rawDesc = nil
file_facade_facade_proto_goTypes = nil
file_facade_facade_proto_depIdxs = nil
}
var _ context.Context
// Code generated by Kitex v0.9.1. DO NOT EDIT.
type FrontendService interface {
Login(ctx context.Context, req *LoginReq) (res *LoginResp, err error)
}
@@ -0,0 +1,49 @@
// Code generated by Kitex v0.9.1. DO NOT EDIT.
package frontendservice
import (
"context"
client "github.com/cloudwego/kitex/client"
callopt "github.com/cloudwego/kitex/client/callopt"
facade "github.com/suyiiyii/hertz101/rpc_gen/kitex_gen/facade"
)
// Client is designed to provide IDL-compatible methods with call-option parameter for kitex framework.
type Client interface {
Login(ctx context.Context, Req *facade.LoginReq, callOptions ...callopt.Option) (r *facade.LoginResp, err error)
}
// NewClient creates a client for the service defined in IDL.
func NewClient(destService string, opts ...client.Option) (Client, error) {
var options []client.Option
options = append(options, client.WithDestService(destService))
options = append(options, opts...)
kc, err := client.NewClient(serviceInfo(), options...)
if err != nil {
return nil, err
}
return &kFrontendServiceClient{
kClient: newServiceClient(kc),
}, nil
}
// MustNewClient creates a client for the service defined in IDL. It panics if any error occurs.
func MustNewClient(destService string, opts ...client.Option) Client {
kc, err := NewClient(destService, opts...)
if err != nil {
panic(err)
}
return kc
}
type kFrontendServiceClient struct {
*kClient
}
func (p *kFrontendServiceClient) Login(ctx context.Context, Req *facade.LoginReq, callOptions ...callopt.Option) (r *facade.LoginResp, err error) {
ctx = client.NewCtxWithCallOptions(ctx, callOptions)
return p.kClient.Login(ctx, Req)
}
@@ -0,0 +1,262 @@
// Code generated by Kitex v0.9.1. DO NOT EDIT.
package frontendservice
import (
"context"
"errors"
client "github.com/cloudwego/kitex/client"
kitex "github.com/cloudwego/kitex/pkg/serviceinfo"
streaming "github.com/cloudwego/kitex/pkg/streaming"
facade "github.com/suyiiyii/hertz101/rpc_gen/kitex_gen/facade"
proto "google.golang.org/protobuf/proto"
)
var errInvalidMessageType = errors.New("invalid message type for service method handler")
var serviceMethods = map[string]kitex.MethodInfo{
"Login": kitex.NewMethodInfo(
loginHandler,
newLoginArgs,
newLoginResult,
false,
kitex.WithStreamingMode(kitex.StreamingUnary),
),
}
var (
frontendServiceServiceInfo = NewServiceInfo()
frontendServiceServiceInfoForClient = NewServiceInfoForClient()
frontendServiceServiceInfoForStreamClient = NewServiceInfoForStreamClient()
)
// for server
func serviceInfo() *kitex.ServiceInfo {
return frontendServiceServiceInfo
}
// for client
func serviceInfoForStreamClient() *kitex.ServiceInfo {
return frontendServiceServiceInfoForStreamClient
}
// for stream client
func serviceInfoForClient() *kitex.ServiceInfo {
return frontendServiceServiceInfoForClient
}
// NewServiceInfo creates a new ServiceInfo containing all methods
func NewServiceInfo() *kitex.ServiceInfo {
return newServiceInfo(false, true, true)
}
// NewServiceInfo creates a new ServiceInfo containing non-streaming methods
func NewServiceInfoForClient() *kitex.ServiceInfo {
return newServiceInfo(false, false, true)
}
func NewServiceInfoForStreamClient() *kitex.ServiceInfo {
return newServiceInfo(true, true, false)
}
func newServiceInfo(hasStreaming bool, keepStreamingMethods bool, keepNonStreamingMethods bool) *kitex.ServiceInfo {
serviceName := "FrontendService"
handlerType := (*facade.FrontendService)(nil)
methods := map[string]kitex.MethodInfo{}
for name, m := range serviceMethods {
if m.IsStreaming() && !keepStreamingMethods {
continue
}
if !m.IsStreaming() && !keepNonStreamingMethods {
continue
}
methods[name] = m
}
extra := map[string]interface{}{
"PackageName": "frontend",
}
if hasStreaming {
extra["streaming"] = hasStreaming
}
svcInfo := &kitex.ServiceInfo{
ServiceName: serviceName,
HandlerType: handlerType,
Methods: methods,
PayloadCodec: kitex.Protobuf,
KiteXGenVersion: "v0.9.1",
Extra: extra,
}
return svcInfo
}
func loginHandler(ctx context.Context, handler interface{}, arg, result interface{}) error {
switch s := arg.(type) {
case *streaming.Args:
st := s.Stream
req := new(facade.LoginReq)
if err := st.RecvMsg(req); err != nil {
return err
}
resp, err := handler.(facade.FrontendService).Login(ctx, req)
if err != nil {
return err
}
return st.SendMsg(resp)
case *LoginArgs:
success, err := handler.(facade.FrontendService).Login(ctx, s.Req)
if err != nil {
return err
}
realResult := result.(*LoginResult)
realResult.Success = success
return nil
default:
return errInvalidMessageType
}
}
func newLoginArgs() interface{} {
return &LoginArgs{}
}
func newLoginResult() interface{} {
return &LoginResult{}
}
type LoginArgs struct {
Req *facade.LoginReq
}
func (p *LoginArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) {
if !p.IsSetReq() {
p.Req = new(facade.LoginReq)
}
return p.Req.FastRead(buf, _type, number)
}
func (p *LoginArgs) FastWrite(buf []byte) (n int) {
if !p.IsSetReq() {
return 0
}
return p.Req.FastWrite(buf)
}
func (p *LoginArgs) Size() (n int) {
if !p.IsSetReq() {
return 0
}
return p.Req.Size()
}
func (p *LoginArgs) Marshal(out []byte) ([]byte, error) {
if !p.IsSetReq() {
return out, nil
}
return proto.Marshal(p.Req)
}
func (p *LoginArgs) Unmarshal(in []byte) error {
msg := new(facade.LoginReq)
if err := proto.Unmarshal(in, msg); err != nil {
return err
}
p.Req = msg
return nil
}
var LoginArgs_Req_DEFAULT *facade.LoginReq
func (p *LoginArgs) GetReq() *facade.LoginReq {
if !p.IsSetReq() {
return LoginArgs_Req_DEFAULT
}
return p.Req
}
func (p *LoginArgs) IsSetReq() bool {
return p.Req != nil
}
func (p *LoginArgs) GetFirstArgument() interface{} {
return p.Req
}
type LoginResult struct {
Success *facade.LoginResp
}
var LoginResult_Success_DEFAULT *facade.LoginResp
func (p *LoginResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) {
if !p.IsSetSuccess() {
p.Success = new(facade.LoginResp)
}
return p.Success.FastRead(buf, _type, number)
}
func (p *LoginResult) FastWrite(buf []byte) (n int) {
if !p.IsSetSuccess() {
return 0
}
return p.Success.FastWrite(buf)
}
func (p *LoginResult) Size() (n int) {
if !p.IsSetSuccess() {
return 0
}
return p.Success.Size()
}
func (p *LoginResult) Marshal(out []byte) ([]byte, error) {
if !p.IsSetSuccess() {
return out, nil
}
return proto.Marshal(p.Success)
}
func (p *LoginResult) Unmarshal(in []byte) error {
msg := new(facade.LoginResp)
if err := proto.Unmarshal(in, msg); err != nil {
return err
}
p.Success = msg
return nil
}
func (p *LoginResult) GetSuccess() *facade.LoginResp {
if !p.IsSetSuccess() {
return LoginResult_Success_DEFAULT
}
return p.Success
}
func (p *LoginResult) SetSuccess(x interface{}) {
p.Success = x.(*facade.LoginResp)
}
func (p *LoginResult) IsSetSuccess() bool {
return p.Success != nil
}
func (p *LoginResult) GetResult() interface{} {
return p.Success
}
type kClient struct {
c client.Client
}
func newServiceClient(c client.Client) *kClient {
return &kClient{
c: c,
}
}
func (p *kClient) Login(ctx context.Context, Req *facade.LoginReq) (r *facade.LoginResp, err error) {
var _args LoginArgs
_args.Req = Req
var _result LoginResult
if err = p.c.Call(ctx, "Login", &_args, &_result); err != nil {
return
}
return _result.GetSuccess(), nil
}
@@ -0,0 +1,24 @@
// Code generated by Kitex v0.9.1. DO NOT EDIT.
package frontendservice
import (
server "github.com/cloudwego/kitex/server"
facade "github.com/suyiiyii/hertz101/rpc_gen/kitex_gen/facade"
)
// NewInvoker creates a server.Invoker with the given handler and options.
func NewInvoker(handler facade.FrontendService, opts ...server.Option) server.Invoker {
var options []server.Option
options = append(options, opts...)
s := server.NewInvoker(options...)
if err := s.RegisterService(serviceInfo(), handler); err != nil {
panic(err)
}
if err := s.Init(); err != nil {
panic(err)
}
return s
}
@@ -0,0 +1,24 @@
// Code generated by Kitex v0.9.1. DO NOT EDIT.
package frontendservice
import (
server "github.com/cloudwego/kitex/server"
facade "github.com/suyiiyii/hertz101/rpc_gen/kitex_gen/facade"
)
// NewServer creates a server.Server with the given handler and options.
func NewServer(handler facade.FrontendService, opts ...server.Option) server.Server {
var options []server.Option
options = append(options, opts...)
svr := server.NewServer(options...)
if err := svr.RegisterService(serviceInfo(), handler); err != nil {
panic(err)
}
return svr
}
func RegisterService(svr server.Server, handler facade.FrontendService, opts ...server.RegisterOption) error {
return svr.RegisterService(serviceInfo(), handler, opts...)
}