mirror of https://github.com/rocboss/paopao-ce
parent
265f91b2d6
commit
822ad3856b
@ -1,173 +0,0 @@
|
||||
// Code generated by protoc-gen-connect-go. DO NOT EDIT.
|
||||
//
|
||||
// Source: core/v1/auth.proto
|
||||
|
||||
package corev1connect
|
||||
|
||||
import (
|
||||
connect "connectrpc.com/connect"
|
||||
context "context"
|
||||
errors "errors"
|
||||
v1 "github.com/rocboss/paopao-ce/auto/rpc/core/v1"
|
||||
http "net/http"
|
||||
strings "strings"
|
||||
)
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file and the connect package are
|
||||
// compatible. If you get a compiler error that this constant is not defined, this code was
|
||||
// generated with a version of connect newer than the one compiled into your binary. You can fix the
|
||||
// problem by either regenerating this code with an older version of connect or updating the connect
|
||||
// version compiled into your binary.
|
||||
const _ = connect.IsAtLeastVersion1_13_0
|
||||
|
||||
const (
|
||||
// AuthenticateServiceName is the fully-qualified name of the AuthenticateService service.
|
||||
AuthenticateServiceName = "core.v1.AuthenticateService"
|
||||
)
|
||||
|
||||
// These constants are the fully-qualified names of the RPCs defined in this package. They're
|
||||
// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route.
|
||||
//
|
||||
// Note that these are different from the fully-qualified method names used by
|
||||
// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to
|
||||
// reflection-formatted method names, remove the leading slash and convert the remaining slash to a
|
||||
// period.
|
||||
const (
|
||||
// AuthenticateServicePreLoginProcedure is the fully-qualified name of the AuthenticateService's
|
||||
// preLogin RPC.
|
||||
AuthenticateServicePreLoginProcedure = "/core.v1.AuthenticateService/preLogin"
|
||||
// AuthenticateServiceLoginProcedure is the fully-qualified name of the AuthenticateService's login
|
||||
// RPC.
|
||||
AuthenticateServiceLoginProcedure = "/core.v1.AuthenticateService/login"
|
||||
// AuthenticateServiceLogoutProcedure is the fully-qualified name of the AuthenticateService's
|
||||
// logout RPC.
|
||||
AuthenticateServiceLogoutProcedure = "/core.v1.AuthenticateService/logout"
|
||||
)
|
||||
|
||||
// These variables are the protoreflect.Descriptor objects for the RPCs defined in this package.
|
||||
var (
|
||||
authenticateServiceServiceDescriptor = v1.File_core_v1_auth_proto.Services().ByName("AuthenticateService")
|
||||
authenticateServicePreLoginMethodDescriptor = authenticateServiceServiceDescriptor.Methods().ByName("preLogin")
|
||||
authenticateServiceLoginMethodDescriptor = authenticateServiceServiceDescriptor.Methods().ByName("login")
|
||||
authenticateServiceLogoutMethodDescriptor = authenticateServiceServiceDescriptor.Methods().ByName("logout")
|
||||
)
|
||||
|
||||
// AuthenticateServiceClient is a client for the core.v1.AuthenticateService service.
|
||||
type AuthenticateServiceClient interface {
|
||||
PreLogin(context.Context, *connect.Request[v1.User]) (*connect.Response[v1.ActionReply], error)
|
||||
Login(context.Context, *connect.Request[v1.User]) (*connect.Response[v1.LoginReply], error)
|
||||
Logout(context.Context, *connect.Request[v1.User]) (*connect.Response[v1.ActionReply], error)
|
||||
}
|
||||
|
||||
// NewAuthenticateServiceClient constructs a client for the core.v1.AuthenticateService service. By
|
||||
// default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses,
|
||||
// and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the
|
||||
// connect.WithGRPC() or connect.WithGRPCWeb() options.
|
||||
//
|
||||
// The URL supplied here should be the base URL for the Connect or gRPC server (for example,
|
||||
// http://api.acme.com or https://acme.com/grpc).
|
||||
func NewAuthenticateServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) AuthenticateServiceClient {
|
||||
baseURL = strings.TrimRight(baseURL, "/")
|
||||
return &authenticateServiceClient{
|
||||
preLogin: connect.NewClient[v1.User, v1.ActionReply](
|
||||
httpClient,
|
||||
baseURL+AuthenticateServicePreLoginProcedure,
|
||||
connect.WithSchema(authenticateServicePreLoginMethodDescriptor),
|
||||
connect.WithClientOptions(opts...),
|
||||
),
|
||||
login: connect.NewClient[v1.User, v1.LoginReply](
|
||||
httpClient,
|
||||
baseURL+AuthenticateServiceLoginProcedure,
|
||||
connect.WithSchema(authenticateServiceLoginMethodDescriptor),
|
||||
connect.WithClientOptions(opts...),
|
||||
),
|
||||
logout: connect.NewClient[v1.User, v1.ActionReply](
|
||||
httpClient,
|
||||
baseURL+AuthenticateServiceLogoutProcedure,
|
||||
connect.WithSchema(authenticateServiceLogoutMethodDescriptor),
|
||||
connect.WithClientOptions(opts...),
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
// authenticateServiceClient implements AuthenticateServiceClient.
|
||||
type authenticateServiceClient struct {
|
||||
preLogin *connect.Client[v1.User, v1.ActionReply]
|
||||
login *connect.Client[v1.User, v1.LoginReply]
|
||||
logout *connect.Client[v1.User, v1.ActionReply]
|
||||
}
|
||||
|
||||
// PreLogin calls core.v1.AuthenticateService.preLogin.
|
||||
func (c *authenticateServiceClient) PreLogin(ctx context.Context, req *connect.Request[v1.User]) (*connect.Response[v1.ActionReply], error) {
|
||||
return c.preLogin.CallUnary(ctx, req)
|
||||
}
|
||||
|
||||
// Login calls core.v1.AuthenticateService.login.
|
||||
func (c *authenticateServiceClient) Login(ctx context.Context, req *connect.Request[v1.User]) (*connect.Response[v1.LoginReply], error) {
|
||||
return c.login.CallUnary(ctx, req)
|
||||
}
|
||||
|
||||
// Logout calls core.v1.AuthenticateService.logout.
|
||||
func (c *authenticateServiceClient) Logout(ctx context.Context, req *connect.Request[v1.User]) (*connect.Response[v1.ActionReply], error) {
|
||||
return c.logout.CallUnary(ctx, req)
|
||||
}
|
||||
|
||||
// AuthenticateServiceHandler is an implementation of the core.v1.AuthenticateService service.
|
||||
type AuthenticateServiceHandler interface {
|
||||
PreLogin(context.Context, *connect.Request[v1.User]) (*connect.Response[v1.ActionReply], error)
|
||||
Login(context.Context, *connect.Request[v1.User]) (*connect.Response[v1.LoginReply], error)
|
||||
Logout(context.Context, *connect.Request[v1.User]) (*connect.Response[v1.ActionReply], error)
|
||||
}
|
||||
|
||||
// NewAuthenticateServiceHandler builds an HTTP handler from the service implementation. It returns
|
||||
// the path on which to mount the handler and the handler itself.
|
||||
//
|
||||
// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf
|
||||
// and JSON codecs. They also support gzip compression.
|
||||
func NewAuthenticateServiceHandler(svc AuthenticateServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) {
|
||||
authenticateServicePreLoginHandler := connect.NewUnaryHandler(
|
||||
AuthenticateServicePreLoginProcedure,
|
||||
svc.PreLogin,
|
||||
connect.WithSchema(authenticateServicePreLoginMethodDescriptor),
|
||||
connect.WithHandlerOptions(opts...),
|
||||
)
|
||||
authenticateServiceLoginHandler := connect.NewUnaryHandler(
|
||||
AuthenticateServiceLoginProcedure,
|
||||
svc.Login,
|
||||
connect.WithSchema(authenticateServiceLoginMethodDescriptor),
|
||||
connect.WithHandlerOptions(opts...),
|
||||
)
|
||||
authenticateServiceLogoutHandler := connect.NewUnaryHandler(
|
||||
AuthenticateServiceLogoutProcedure,
|
||||
svc.Logout,
|
||||
connect.WithSchema(authenticateServiceLogoutMethodDescriptor),
|
||||
connect.WithHandlerOptions(opts...),
|
||||
)
|
||||
return "/core.v1.AuthenticateService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
switch r.URL.Path {
|
||||
case AuthenticateServicePreLoginProcedure:
|
||||
authenticateServicePreLoginHandler.ServeHTTP(w, r)
|
||||
case AuthenticateServiceLoginProcedure:
|
||||
authenticateServiceLoginHandler.ServeHTTP(w, r)
|
||||
case AuthenticateServiceLogoutProcedure:
|
||||
authenticateServiceLogoutHandler.ServeHTTP(w, r)
|
||||
default:
|
||||
http.NotFound(w, r)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// UnimplementedAuthenticateServiceHandler returns CodeUnimplemented from all methods.
|
||||
type UnimplementedAuthenticateServiceHandler struct{}
|
||||
|
||||
func (UnimplementedAuthenticateServiceHandler) PreLogin(context.Context, *connect.Request[v1.User]) (*connect.Response[v1.ActionReply], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("core.v1.AuthenticateService.preLogin is not implemented"))
|
||||
}
|
||||
|
||||
func (UnimplementedAuthenticateServiceHandler) Login(context.Context, *connect.Request[v1.User]) (*connect.Response[v1.LoginReply], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("core.v1.AuthenticateService.login is not implemented"))
|
||||
}
|
||||
|
||||
func (UnimplementedAuthenticateServiceHandler) Logout(context.Context, *connect.Request[v1.User]) (*connect.Response[v1.ActionReply], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("core.v1.AuthenticateService.logout is not implemented"))
|
||||
}
|
@ -1,112 +0,0 @@
|
||||
// Code generated by protoc-gen-connect-go. DO NOT EDIT.
|
||||
//
|
||||
// Source: greet/v1/greet.proto
|
||||
|
||||
package greetv1connect
|
||||
|
||||
import (
|
||||
connect "connectrpc.com/connect"
|
||||
context "context"
|
||||
errors "errors"
|
||||
v1 "github.com/rocboss/paopao-ce/auto/rpc/greet/v1"
|
||||
http "net/http"
|
||||
strings "strings"
|
||||
)
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file and the connect package are
|
||||
// compatible. If you get a compiler error that this constant is not defined, this code was
|
||||
// generated with a version of connect newer than the one compiled into your binary. You can fix the
|
||||
// problem by either regenerating this code with an older version of connect or updating the connect
|
||||
// version compiled into your binary.
|
||||
const _ = connect.IsAtLeastVersion1_13_0
|
||||
|
||||
const (
|
||||
// GreetServiceName is the fully-qualified name of the GreetService service.
|
||||
GreetServiceName = "greet.v1.GreetService"
|
||||
)
|
||||
|
||||
// These constants are the fully-qualified names of the RPCs defined in this package. They're
|
||||
// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route.
|
||||
//
|
||||
// Note that these are different from the fully-qualified method names used by
|
||||
// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to
|
||||
// reflection-formatted method names, remove the leading slash and convert the remaining slash to a
|
||||
// period.
|
||||
const (
|
||||
// GreetServiceGreetProcedure is the fully-qualified name of the GreetService's Greet RPC.
|
||||
GreetServiceGreetProcedure = "/greet.v1.GreetService/Greet"
|
||||
)
|
||||
|
||||
// These variables are the protoreflect.Descriptor objects for the RPCs defined in this package.
|
||||
var (
|
||||
greetServiceServiceDescriptor = v1.File_greet_v1_greet_proto.Services().ByName("GreetService")
|
||||
greetServiceGreetMethodDescriptor = greetServiceServiceDescriptor.Methods().ByName("Greet")
|
||||
)
|
||||
|
||||
// GreetServiceClient is a client for the greet.v1.GreetService service.
|
||||
type GreetServiceClient interface {
|
||||
Greet(context.Context, *connect.Request[v1.GreetRequest]) (*connect.Response[v1.GreetResponse], error)
|
||||
}
|
||||
|
||||
// NewGreetServiceClient constructs a client for the greet.v1.GreetService service. By default, it
|
||||
// uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends
|
||||
// uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or
|
||||
// connect.WithGRPCWeb() options.
|
||||
//
|
||||
// The URL supplied here should be the base URL for the Connect or gRPC server (for example,
|
||||
// http://api.acme.com or https://acme.com/grpc).
|
||||
func NewGreetServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) GreetServiceClient {
|
||||
baseURL = strings.TrimRight(baseURL, "/")
|
||||
return &greetServiceClient{
|
||||
greet: connect.NewClient[v1.GreetRequest, v1.GreetResponse](
|
||||
httpClient,
|
||||
baseURL+GreetServiceGreetProcedure,
|
||||
connect.WithSchema(greetServiceGreetMethodDescriptor),
|
||||
connect.WithClientOptions(opts...),
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
// greetServiceClient implements GreetServiceClient.
|
||||
type greetServiceClient struct {
|
||||
greet *connect.Client[v1.GreetRequest, v1.GreetResponse]
|
||||
}
|
||||
|
||||
// Greet calls greet.v1.GreetService.Greet.
|
||||
func (c *greetServiceClient) Greet(ctx context.Context, req *connect.Request[v1.GreetRequest]) (*connect.Response[v1.GreetResponse], error) {
|
||||
return c.greet.CallUnary(ctx, req)
|
||||
}
|
||||
|
||||
// GreetServiceHandler is an implementation of the greet.v1.GreetService service.
|
||||
type GreetServiceHandler interface {
|
||||
Greet(context.Context, *connect.Request[v1.GreetRequest]) (*connect.Response[v1.GreetResponse], error)
|
||||
}
|
||||
|
||||
// NewGreetServiceHandler builds an HTTP handler from the service implementation. It returns the
|
||||
// path on which to mount the handler and the handler itself.
|
||||
//
|
||||
// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf
|
||||
// and JSON codecs. They also support gzip compression.
|
||||
func NewGreetServiceHandler(svc GreetServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) {
|
||||
greetServiceGreetHandler := connect.NewUnaryHandler(
|
||||
GreetServiceGreetProcedure,
|
||||
svc.Greet,
|
||||
connect.WithSchema(greetServiceGreetMethodDescriptor),
|
||||
connect.WithHandlerOptions(opts...),
|
||||
)
|
||||
return "/greet.v1.GreetService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
switch r.URL.Path {
|
||||
case GreetServiceGreetProcedure:
|
||||
greetServiceGreetHandler.ServeHTTP(w, r)
|
||||
default:
|
||||
http.NotFound(w, r)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// UnimplementedGreetServiceHandler returns CodeUnimplemented from all methods.
|
||||
type UnimplementedGreetServiceHandler struct{}
|
||||
|
||||
func (UnimplementedGreetServiceHandler) Greet(context.Context, *connect.Request[v1.GreetRequest]) (*connect.Response[v1.GreetResponse], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("greet.v1.GreetService.Greet is not implemented"))
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
// Copyright 2023 ROC. All rights reserved.
|
||||
// Use of this source code is governed by a MIT style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package triplet
|
||||
|
||||
import (
|
||||
api "github.com/rocboss/paopao-ce/auto/connect/core/v1/corev1connect"
|
||||
)
|
||||
|
||||
var (
|
||||
_ api.AuthenticateServiceHandler = (*authenticateSrv)(nil)
|
||||
)
|
||||
|
||||
type authenticateSrv struct {
|
||||
api.UnimplementedAuthenticateServiceHandler
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
// Copyright 2023 ROC. All rights reserved.
|
||||
// Use of this source code is governed by a MIT style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package triplet
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"connectrpc.com/connect"
|
||||
api "github.com/rocboss/paopao-ce/auto/connect/core/v1/corev1connect"
|
||||
)
|
||||
|
||||
func RegisterAuthenticateHandler(h func(string, http.Handler), opts ...connect.HandlerOption) {
|
||||
h(api.NewAuthenticateServiceHandler(&authenticateSrv{}, opts...))
|
||||
}
|
@ -1,67 +0,0 @@
|
||||
// Copyright 2023 ROC. All rights reserved.
|
||||
// Use of this source code is governed by a MIT style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
|
||||
"connectrpc.com/connect"
|
||||
hx "github.com/rocboss/paopao-ce/pkg/http"
|
||||
)
|
||||
|
||||
var (
|
||||
_ server = (*connectServer)(nil)
|
||||
)
|
||||
|
||||
// connectServer wraper for connect
|
||||
type connectServer struct {
|
||||
*baseServer
|
||||
|
||||
isTLS bool
|
||||
certFile string
|
||||
keyFile string
|
||||
handlerOpts []connect.HandlerOption
|
||||
server *http.Server
|
||||
mux connectMux
|
||||
}
|
||||
|
||||
type connectMux interface {
|
||||
http.Handler
|
||||
Handle(string, http.Handler)
|
||||
}
|
||||
|
||||
func (s *connectServer) start() error {
|
||||
s.server.Handler = s.mux
|
||||
if s.isTLS {
|
||||
return s.server.ListenAndServeTLS(s.certFile, s.keyFile)
|
||||
} else {
|
||||
return s.server.ListenAndServe()
|
||||
}
|
||||
}
|
||||
|
||||
func (s *connectServer) stop() error {
|
||||
return s.server.Shutdown(context.Background())
|
||||
}
|
||||
|
||||
func (s *connectServer) register(path string, handler http.Handler) {
|
||||
s.mux.Handle(path, handler)
|
||||
}
|
||||
|
||||
func defaultConnectServer(addr string) (s *connectServer) {
|
||||
s = &connectServer{
|
||||
baseServer: newBaseServe(),
|
||||
server: &http.Server{
|
||||
Addr: addr,
|
||||
},
|
||||
mux: &http.ServeMux{},
|
||||
}
|
||||
// TODO: custom value from config
|
||||
var useConnectMux bool
|
||||
if useConnectMux {
|
||||
s.mux = hx.NewConnectMux()
|
||||
}
|
||||
return
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
// Copyright 2023 ROC. All rights reserved.
|
||||
// Use of this source code is governed by a MIT style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package service
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"connectrpc.com/connect"
|
||||
)
|
||||
|
||||
type baseConnectService struct {
|
||||
baseService
|
||||
|
||||
server *connectServer
|
||||
}
|
||||
|
||||
func (s *baseConnectService) registerServer(srv Service, h func(func(string, http.Handler), ...connect.HandlerOption), opts ...connect.HandlerOption) {
|
||||
h(s.server.register, append(opts, s.server.handlerOpts...)...)
|
||||
s.server.addService(srv)
|
||||
}
|
||||
|
||||
func (s *baseConnectService) OnStart() error {
|
||||
// do nothing default
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *baseConnectService) OnStop() error {
|
||||
// do nothing default
|
||||
return nil
|
||||
}
|
@ -1,51 +0,0 @@
|
||||
// Copyright 2023 ROC. All rights reserved.
|
||||
// Use of this source code is governed by a MIT style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package service
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/Masterminds/semver/v3"
|
||||
"github.com/fatih/color"
|
||||
"github.com/rocboss/paopao-ce/internal/servants"
|
||||
)
|
||||
|
||||
var (
|
||||
_ Service = (*tripletService)(nil)
|
||||
)
|
||||
|
||||
// tripletService just a demo service for Connect
|
||||
type tripletService struct {
|
||||
*baseConnectService
|
||||
}
|
||||
|
||||
func (s *tripletService) Name() string {
|
||||
return "TripletService"
|
||||
}
|
||||
|
||||
func (s *tripletService) Version() *semver.Version {
|
||||
return semver.MustParse("v0.1.0")
|
||||
}
|
||||
|
||||
func (s *tripletService) OnInit() error {
|
||||
s.registerServer(s, servants.RegisterTripletServants)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *tripletService) String() string {
|
||||
return fmt.Sprintf("listen on %s\n", color.GreenString("http://localhost:8080"))
|
||||
}
|
||||
|
||||
func newTripletService() Service {
|
||||
server := connectServers.from(":8080", func() *connectServer {
|
||||
// TODO: do something for conenct server initialize
|
||||
return defaultConnectServer(":8080")
|
||||
})
|
||||
return &tripletService{
|
||||
baseConnectService: &baseConnectService{
|
||||
server: server,
|
||||
},
|
||||
}
|
||||
}
|
Loading…
Reference in new issue