gracefull shutdown for unresolvable errors

This commit is contained in:
2025-03-07 21:40:53 +07:00
parent 2fd8b20b77
commit e6f21d1bb2
19 changed files with 181 additions and 133 deletions

View File

@@ -1,45 +1,45 @@
package utils
import (
"errors"
"os"
"path/filepath"
"log"
"os"
"path/filepath"
)
func FindFrontendPath() string {
currentPath, err := os.Getwd()
if err != nil {
panic(err)
}
currentPath, err := os.Getwd()
if err != nil {
panic(err)
}
var dirs []string
for currentPath != filepath.VolumeName(currentPath)+string(os.PathSeparator) {
dir, file := filepath.Split(currentPath)
if file != "" {
dirs = append([]string{file}, dirs...)
}
currentPath = filepath.Clean(dir)
}
var dirs []string
for currentPath != filepath.VolumeName(currentPath)+string(os.PathSeparator) {
dir, file := filepath.Split(currentPath)
if file != "" {
dirs = append([]string{file}, dirs...)
}
currentPath = filepath.Clean(dir)
}
if len(dirs) < 2 || filepath.Join(dirs[len(dirs)-2], dirs[len(dirs)-1]) != filepath.Join("frontend", "src") {
panic(errors.New("You're not in frontend/src"))
}
if len(dirs) < 2 || filepath.Join(dirs[len(dirs)-2], dirs[len(dirs)-1]) != filepath.Join("frontend", "src") {
log.Fatalf("Run this program in frontend/ directory")
}
var path string
for i, dir := range dirs {
if dir == "frontend" {
break
}
if i > 0 {
path = filepath.Join(path, dir)
} else {
path = dir
}
}
var path string
for i, dir := range dirs {
if dir == "frontend" {
break
}
if i > 0 {
path = filepath.Join(path, dir)
} else {
path = dir
}
}
if filepath.VolumeName(path) == "" {
path = filepath.Join(string(os.PathSeparator), path)
}
if filepath.VolumeName(path) == "" {
path = filepath.Join(string(os.PathSeparator), path)
}
return path
}
return path
}