add generate server and swagger
This commit is contained in:
+72
-14
@@ -1,21 +1,79 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"cake_crm/internal/models/storage/storage_file"
|
||||
"cake_crm/internal/services/server_web"
|
||||
crm "cake_crm/proto"
|
||||
"context"
|
||||
"github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/credentials/insecure"
|
||||
"log"
|
||||
"net"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
func main() {
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
defer cancel()
|
||||
|
||||
storage := storage_file.NewStorageFile("resources/db.json")
|
||||
_ = storage
|
||||
|
||||
server := server_web.NewServer(storage, 8080)
|
||||
err := server.Run(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
type server struct {
|
||||
crm.UnimplementedCRMServer
|
||||
}
|
||||
|
||||
func NewServer() *server {
|
||||
return &server{}
|
||||
}
|
||||
|
||||
func (s *server) GetCatalog(ctx context.Context, req *crm.GetCatalogReq) (*crm.CatalogRsp, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func main() {
|
||||
//ctx, cancel := context.WithCancel(context.Background())
|
||||
//defer cancel()
|
||||
//
|
||||
//storage := storage_file.NewStorageFile("resources/db.json")
|
||||
//_ = storage
|
||||
//
|
||||
//server := server_web.NewServer(storage, 8080)
|
||||
//err := server.Run(ctx)
|
||||
//if err != nil {
|
||||
// panic(err)
|
||||
//}
|
||||
|
||||
// Create a listener on TCP port
|
||||
lis, err := net.Listen("tcp", ":8080")
|
||||
if err != nil {
|
||||
log.Fatalln("Failed to listen:", err)
|
||||
}
|
||||
|
||||
// Create a gRPC server object
|
||||
s := grpc.NewServer()
|
||||
// Attach the Greeter service to the server
|
||||
crm.RegisterCRMServer(s, &server{})
|
||||
// Serve gRPC server
|
||||
log.Println("Serving gRPC on 0.0.0.0:8080")
|
||||
go func() {
|
||||
log.Fatalln(s.Serve(lis))
|
||||
}()
|
||||
|
||||
// Create a client connection to the gRPC server we just started
|
||||
// This is where the gRPC-Gateway proxies the requests
|
||||
conn, err := grpc.NewClient(
|
||||
"0.0.0.0:8080",
|
||||
grpc.WithTransportCredentials(insecure.NewCredentials()),
|
||||
)
|
||||
if err != nil {
|
||||
log.Fatalln("Failed to dial server:", err)
|
||||
}
|
||||
|
||||
gwmux := runtime.NewServeMux()
|
||||
// Register Greeter
|
||||
err = crm.RegisterCRMHandler(context.Background(), gwmux, conn)
|
||||
if err != nil {
|
||||
log.Fatalln("Failed to register gateway:", err)
|
||||
}
|
||||
|
||||
gwServer := &http.Server{
|
||||
Addr: ":8090",
|
||||
Handler: gwmux,
|
||||
}
|
||||
|
||||
log.Println("Serving gRPC-Gateway on http://0.0.0.0:8090")
|
||||
log.Fatalln(gwServer.ListenAndServe())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user