generated from VLADIMIR/template
update routes
This commit is contained in:
Vendored
+2
@@ -10,6 +10,7 @@
|
||||
"диалогом",
|
||||
"другой",
|
||||
"задать",
|
||||
"запущен",
|
||||
"корректный",
|
||||
"Можно",
|
||||
"Название",
|
||||
@@ -27,6 +28,7 @@
|
||||
"приложением",
|
||||
"проходами",
|
||||
"проходом",
|
||||
"сервер",
|
||||
"скрытой",
|
||||
"скрытую",
|
||||
"существует",
|
||||
|
||||
@@ -34,11 +34,10 @@ var userFS embed.FS
|
||||
var adminFS embed.FS
|
||||
|
||||
func main() {
|
||||
// Create a listener on TCP port
|
||||
lis, err := net.Listen("tcp", ":8080")
|
||||
if err != nil {
|
||||
log.Fatalln("Failed to listen:", err)
|
||||
}
|
||||
grpcGatewayHost := config.GetGrpcGatewayHost()
|
||||
userClientHost := config.GetUserClientHost()
|
||||
adminClientHost := config.GetAdminClientHost()
|
||||
fileHost := config.GetFileHost()
|
||||
|
||||
// Create a gRPC server object
|
||||
s := grpc.NewServer()
|
||||
@@ -50,10 +49,6 @@ func main() {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
|
||||
clientHost := config.GetHost()
|
||||
adminClientHost := config.GetAdminHost()
|
||||
fileHost := config.GetFileHost()
|
||||
|
||||
cleaner := cleaner.NewCleaner()
|
||||
|
||||
formatter := formatter.NewFormatter()
|
||||
@@ -72,7 +67,7 @@ func main() {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
|
||||
linkService := link.NewLinkService(clientHost)
|
||||
linkService := link.NewLinkService(userClientHost)
|
||||
|
||||
passwordGenerator := password.NewPasswordGenerator()
|
||||
|
||||
@@ -90,12 +85,17 @@ func main() {
|
||||
),
|
||||
),
|
||||
)
|
||||
// Serve gRPC server
|
||||
log.Println("Serving gRPC on 0.0.0.0:8080")
|
||||
|
||||
// Server gRPC
|
||||
lis, err := net.Listen("tcp", ":8080")
|
||||
if err != nil {
|
||||
log.Fatalln("Failed to listen:", err)
|
||||
}
|
||||
go func() {
|
||||
log.Fatalln(s.Serve(lis))
|
||||
}()
|
||||
|
||||
// Client gRPC
|
||||
// Create a client connection to the gRPC server we just started
|
||||
// This is where the gRPC-Gateway proxies the requests
|
||||
conn, err := grpc.NewClient(
|
||||
@@ -122,13 +122,12 @@ func main() {
|
||||
log.Fatalln("Failed to register gateway:", err)
|
||||
}
|
||||
|
||||
// Server gRPC-Gateway
|
||||
gwServer := &http.Server{
|
||||
Addr: ":8090",
|
||||
Addr: config.GrpcGatewayPort,
|
||||
Handler: cors(gwmux),
|
||||
}
|
||||
|
||||
// Serve gRPC-Gateway server
|
||||
log.Println("Serving gRPC-Gateway on http://0.0.0.0:8090")
|
||||
log.Printf("Serving %s for gRPC-Gateway\n", grpcGatewayHost)
|
||||
go func() {
|
||||
log.Fatalln(gwServer.ListenAndServe())
|
||||
}()
|
||||
@@ -141,23 +140,18 @@ func main() {
|
||||
fileServerUser := http.FileServer(http.FS(subUserFS))
|
||||
muxUser.Handle("/", fileServerUser)
|
||||
|
||||
// Serve user web server
|
||||
log.Println("Serving user web on http://0.0.0.0" + config.ClientPort)
|
||||
// Server user web
|
||||
log.Printf("Serving %s for user web\n", userClientHost)
|
||||
go func() {
|
||||
log.Fatalln(http.ListenAndServe(config.ClientPort, muxUser))
|
||||
log.Fatalln(http.ListenAndServe(config.UserClientPort, muxUser))
|
||||
}()
|
||||
|
||||
go func() {
|
||||
dir := "./data/story/images"
|
||||
// Создаем файловый сервер
|
||||
fs := http.FileServer(http.Dir(dir))
|
||||
|
||||
// Добавляем middleware для логирования
|
||||
http.Handle("/", loggingMiddleware(fs))
|
||||
|
||||
log.Println("Файловый сервер запущен на http://localhost:8120")
|
||||
log.Println("Обслуживается директория: " + dir)
|
||||
log.Fatal(http.ListenAndServe(":8120", nil))
|
||||
log.Printf("Serving %s for file server, directory: %s\n", fileHost, dir)
|
||||
log.Fatal(http.ListenAndServe(config.FilePort, nil))
|
||||
}()
|
||||
|
||||
muxAdmin := http.NewServeMux()
|
||||
@@ -168,9 +162,9 @@ func main() {
|
||||
fileServerAdmin := http.FileServer(http.FS(subAdminFS))
|
||||
muxAdmin.Handle("/", fileServerAdmin)
|
||||
|
||||
// Serve admin web server
|
||||
log.Printf("Serving admin web on %s\n", adminClientHost)
|
||||
log.Fatalln(http.ListenAndServe(":8110", muxAdmin))
|
||||
// Server admin web
|
||||
log.Printf("Serving %s for admin web \n", adminClientHost)
|
||||
log.Fatalln(http.ListenAndServe(config.AdminClientPort, muxAdmin))
|
||||
}
|
||||
|
||||
func cors(h http.Handler) http.Handler {
|
||||
|
||||
+18
-2
@@ -11,8 +11,24 @@ services:
|
||||
- "8100:8100"
|
||||
- "8110:8110"
|
||||
- "8120:8120"
|
||||
networks:
|
||||
- crabs-network
|
||||
volumes:
|
||||
- data:/data
|
||||
labels:
|
||||
reproxy.1.server: "rodniki.crabs-games.art"
|
||||
reproxy.1.route: "^/schedule"
|
||||
reproxy.1.dest: "http://pinned_message:8210/schedule"
|
||||
reproxy.1.port: "8210"
|
||||
reproxy.1.ping: "/"
|
||||
|
||||
volumes:
|
||||
data:
|
||||
reproxy.2.server: "rodniki.crabs-games.art"
|
||||
reproxy.2.route: "/(.*)"
|
||||
reproxy.2.dest: "http://pinned_message:8220/$$1"
|
||||
reproxy.2.port: "8220"
|
||||
reproxy.2.ping: "/"
|
||||
|
||||
networks:
|
||||
crabs-network:
|
||||
name: crabs-network
|
||||
external: true
|
||||
|
||||
@@ -7,7 +7,8 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
ClientPort = ":8100"
|
||||
GrpcGatewayPort = ":8090"
|
||||
UserClientPort = ":8100"
|
||||
AdminClientPort = ":8110"
|
||||
FilePort = ":8120"
|
||||
)
|
||||
@@ -20,7 +21,19 @@ func GetDBFilepath() string {
|
||||
return getFilepath("DB_FILENAME", "data/db/store.db")
|
||||
}
|
||||
|
||||
func GetAdminHost() string {
|
||||
func GetGrpcGatewayHost() string {
|
||||
host := os.Getenv("HOST")
|
||||
if host != "" {
|
||||
return host
|
||||
}
|
||||
ips, err := getLocalIPs()
|
||||
if err != nil || len(ips) == 0 {
|
||||
return "http://127.0.0.1" + GrpcGatewayPort
|
||||
}
|
||||
return "http://" + ips[0] + GrpcGatewayPort
|
||||
}
|
||||
|
||||
func GetAdminClientHost() string {
|
||||
host := os.Getenv("HOST")
|
||||
if host != "" {
|
||||
return host
|
||||
@@ -32,20 +45,20 @@ func GetAdminHost() string {
|
||||
return "http://" + ips[0] + AdminClientPort
|
||||
}
|
||||
|
||||
func GetHost() string {
|
||||
func GetUserClientHost() string {
|
||||
host := os.Getenv("HOST")
|
||||
if host != "" {
|
||||
return host
|
||||
}
|
||||
ips, err := getLocalIPs()
|
||||
if err != nil || len(ips) == 0 {
|
||||
return "http://127.0.0.1" + ClientPort
|
||||
return "http://127.0.0.1" + UserClientPort
|
||||
}
|
||||
return "http://" + ips[0] + ClientPort
|
||||
return "http://" + ips[0] + UserClientPort
|
||||
}
|
||||
|
||||
func GetFileHost() string {
|
||||
host := os.Getenv("FILE_HOST")
|
||||
host := os.Getenv("HOST")
|
||||
if host != "" {
|
||||
return host
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ func NewDBService(filepath string) (IDBService, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
log.Printf("load db from: %s", filepath)
|
||||
log.Printf("Load db from: %s", filepath)
|
||||
_, err = db.Exec("CREATE TABLE IF NOT EXISTS teams (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT UNIQUE NOT NULL CHECK(length(trim(name)) > 0), password TEXT);")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -25,7 +25,7 @@ func (s *fileService) Load(ctx context.Context) (*models.Story, error) {
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("story file %s not found", s.filepath)
|
||||
}
|
||||
log.Printf("load story from: %s", s.filepath)
|
||||
log.Printf("Load story from: %s", s.filepath)
|
||||
story := &models.Story{}
|
||||
if err := json.Unmarshal(data, story); err != nil {
|
||||
return nil, err
|
||||
|
||||
Reference in New Issue
Block a user