SYMBOL INDEX (110 symbols across 15 files) FILE: auth/auth.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Request (line 25) | type Request struct method Reset (line 35) | func (x *Request) Reset() { method String (line 42) | func (x *Request) String() string { method ProtoMessage (line 46) | func (*Request) ProtoMessage() {} method ProtoReflect (line 48) | func (x *Request) ProtoReflect() protoreflect.Message { method Descriptor (line 61) | func (*Request) Descriptor() ([]byte, []int) { method GetUsername (line 65) | func (x *Request) GetUsername() string { method GetPassword (line 72) | func (x *Request) GetPassword() string { type Response (line 80) | type Response struct method Reset (line 90) | func (x *Response) Reset() { method String (line 97) | func (x *Response) String() string { method ProtoMessage (line 101) | func (*Response) ProtoMessage() {} method ProtoReflect (line 103) | func (x *Response) ProtoReflect() protoreflect.Message { method Descriptor (line 116) | func (*Response) Descriptor() ([]byte, []int) { method GetToken (line 120) | func (x *Response) GetToken() string { constant file_auth_auth_proto_rawDesc (line 129) | file_auth_auth_proto_rawDesc = "" + function file_auth_auth_proto_rawDescGZIP (line 145) | func file_auth_auth_proto_rawDescGZIP() []byte { function init (line 167) | func init() { file_auth_auth_proto_init() } function file_auth_auth_proto_init (line 168) | func file_auth_auth_proto_init() { FILE: auth/auth_grpc.pb.go constant _ (line 19) | _ = grpc.SupportPackageIsVersion9 constant Auth_Login_FullMethodName (line 22) | Auth_Login_FullMethodName = "/auth.Auth/Login" type AuthClient (line 32) | type AuthClient interface type authClient (line 39) | type authClient struct method Login (line 47) | func (c *authClient) Login(ctx context.Context, in *Request, opts ...g... function NewAuthClient (line 43) | func NewAuthClient(cc grpc.ClientConnInterface) AuthClient { type AuthServer (line 64) | type AuthServer interface type UnimplementedAuthServer (line 77) | type UnimplementedAuthServer struct method Login (line 79) | func (UnimplementedAuthServer) Login(context.Context, *Request) (*Resp... method mustEmbedUnimplementedAuthServer (line 82) | func (UnimplementedAuthServer) mustEmbedUnimplementedAuthServer() {} method testEmbeddedByValue (line 83) | func (UnimplementedAuthServer) testEmbeddedByValue() {} type UnsafeAuthServer (line 88) | type UnsafeAuthServer interface function RegisterAuthServer (line 92) | func RegisterAuthServer(s grpc.ServiceRegistrar, srv AuthServer) { function _Auth_Login_Handler (line 103) | func _Auth_Login_Handler(srv interface{}, ctx context.Context, dec func(... FILE: cmd/auth-client/main.go constant RequestTimeout (line 20) | RequestTimeout = 10 * time.Second function main (line 23) | func main() { FILE: cmd/auth-server/main.go function main (line 22) | func main() { FILE: cmd/auth-server/server.go constant MaxUsernameLength (line 23) | MaxUsernameLength = 64 constant MaxPasswordLength (line 25) | MaxPasswordLength = 128 constant MinPasswordLength (line 27) | MinPasswordLength = 8 constant TokenExpiration (line 29) | TokenExpiration = time.Hour constant RateLimitBurst (line 31) | RateLimitBurst = 3 constant RateLimitPerSecond (line 33) | RateLimitPerSecond = 0.5 type server (line 37) | type server struct method getRateLimiter (line 107) | func (s *server) getRateLimiter(clientAddr string) *rate.Limiter { method Login (line 122) | func (s *server) Login(ctx context.Context, r *pb.Request) (*pb.Respon... function NewAuthServer (line 48) | func NewAuthServer(jwtKeyPath, username, password string) (*server, erro... function validateUsername (line 84) | func validateUsername(username string) error { function validatePassword (line 96) | func validatePassword(password string) error { FILE: cmd/auth-server/server_test.go function TestValidateUsername (line 8) | func TestValidateUsername(t *testing.T) { function TestValidatePassword (line 31) | func TestValidatePassword(t *testing.T) { function TestLogin_InvalidCredentials (line 54) | func TestLogin_InvalidCredentials(t *testing.T) { function TestLogin_ValidCredentials (line 60) | func TestLogin_ValidCredentials(t *testing.T) { function TestLogin_RateLimiting (line 65) | func TestLogin_RateLimiting(t *testing.T) { function TestJWTTokenExpiration (line 70) | func TestJWTTokenExpiration(t *testing.T) { function TestLogin_InputValidation (line 80) | func TestLogin_InputValidation(t *testing.T) { FILE: cmd/hello-client/main.go constant RequestTimeout (line 21) | RequestTimeout = 10 * time.Second function main (line 24) | func main() { FILE: cmd/hello-server/main.go function main (line 22) | func main() { FILE: cmd/hello-server/server.go constant ExpectedAudience (line 18) | ExpectedAudience = "hello.service" constant ExpectedIssuer (line 20) | ExpectedIssuer = "auth.service" type server (line 24) | type server struct method SayHello (line 109) | func (s *server) SayHello(ctx context.Context, r *pb.Request) (*pb.Res... type claims (line 30) | type claims struct function validateJwtToken (line 35) | func validateJwtToken(tokenString string, key *rsa.PublicKey) (*jwt.Toke... function NewHelloServer (line 94) | func NewHelloServer(jwtKeyPath string) (*server, error) { FILE: credentials/jwt/jwt.go type jwt (line 13) | type jwt struct method GetRequestMetadata (line 34) | func (j jwt) GetRequestMetadata(ctx context.Context, uri ...string) (m... method RequireTransportSecurity (line 42) | func (j jwt) RequireTransportSecurity() bool { function NewFromTokenFile (line 19) | func NewFromTokenFile(tokenPath string) (credentials.PerRPCCredentials, ... FILE: hello/hello.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Request (line 26) | type Request struct method Reset (line 32) | func (x *Request) Reset() { method String (line 39) | func (x *Request) String() string { method ProtoMessage (line 43) | func (*Request) ProtoMessage() {} method ProtoReflect (line 45) | func (x *Request) ProtoReflect() protoreflect.Message { method Descriptor (line 58) | func (*Request) Descriptor() ([]byte, []int) { type Response (line 63) | type Response struct method Reset (line 71) | func (x *Response) Reset() { method String (line 78) | func (x *Response) String() string { method ProtoMessage (line 82) | func (*Response) ProtoMessage() {} method ProtoReflect (line 84) | func (x *Response) ProtoReflect() protoreflect.Message { method Descriptor (line 97) | func (*Response) Descriptor() ([]byte, []int) { method GetMessage (line 101) | func (x *Response) GetMessage() string { constant file_hello_hello_proto_rawDesc (line 110) | file_hello_hello_proto_rawDesc = "" + function file_hello_hello_proto_rawDescGZIP (line 124) | func file_hello_hello_proto_rawDescGZIP() []byte { function init (line 146) | func init() { file_hello_hello_proto_init() } function file_hello_hello_proto_init (line 147) | func file_hello_hello_proto_init() { FILE: hello/hello_grpc.pb.go constant _ (line 19) | _ = grpc.SupportPackageIsVersion9 constant Greeter_SayHello_FullMethodName (line 22) | Greeter_SayHello_FullMethodName = "/hello.Greeter/SayHello" type GreeterClient (line 32) | type GreeterClient interface type greeterClient (line 38) | type greeterClient struct method SayHello (line 46) | func (c *greeterClient) SayHello(ctx context.Context, in *Request, opt... function NewGreeterClient (line 42) | func NewGreeterClient(cc grpc.ClientConnInterface) GreeterClient { type GreeterServer (line 63) | type GreeterServer interface type UnimplementedGreeterServer (line 75) | type UnimplementedGreeterServer struct method SayHello (line 77) | func (UnimplementedGreeterServer) SayHello(context.Context, *Request) ... method mustEmbedUnimplementedGreeterServer (line 80) | func (UnimplementedGreeterServer) mustEmbedUnimplementedGreeterServer(... method testEmbeddedByValue (line 81) | func (UnimplementedGreeterServer) testEmbeddedByValue() ... type UnsafeGreeterServer (line 86) | type UnsafeGreeterServer interface function RegisterGreeterServer (line 90) | func RegisterGreeterServer(s grpc.ServiceRegistrar, srv GreeterServer) { function _Greeter_SayHello_Handler (line 101) | func _Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec... FILE: pkg/config/config.go function DefaultConfigDir (line 11) | func DefaultConfigDir() string { function WithConfigDir (line 19) | func WithConfigDir(path string) string { FILE: pkg/config/config_test.go function TestDefaultConfigDir (line 9) | func TestDefaultConfigDir(t *testing.T) { function TestWithConfigDir (line 29) | func TestWithConfigDir(t *testing.T) { FILE: pkg/logging/logging.go function UnaryServerInterceptor (line 16) | func UnaryServerInterceptor(logger *log.Logger) grpc.UnaryServerIntercep... function PanicRecoveryInterceptor (line 57) | func PanicRecoveryInterceptor(logger *log.Logger) grpc.UnaryServerInterc...