init push

This commit is contained in:
2026-07-16 22:16:45 +07:00
commit 8b068bdb10
1021 changed files with 332816 additions and 0 deletions

79
cmd/healthcheck/main.go Normal file
View File

@@ -0,0 +1,79 @@
package main
import (
"bufio"
"net"
"os"
"strings"
"time"
)
const (
defaultTarget = "http://127.0.0.1:8080/health"
timeout = 2 * time.Second
)
func main() {
target := strings.TrimSpace(os.Getenv("HEALTHCHECK_URL"))
if target == "" {
target = defaultTarget
}
if len(os.Args) > 1 {
if arg := strings.TrimSpace(os.Args[1]); arg != "" {
target = arg
}
}
addr, path, ok := splitTarget(target)
if !ok {
os.Exit(1)
}
conn, err := net.DialTimeout("tcp", addr, timeout)
if err != nil {
os.Exit(1)
}
defer conn.Close()
_ = conn.SetDeadline(time.Now().Add(timeout))
request := "GET " + path + " HTTP/1.1\r\nHost: " + addr + "\r\nConnection: close\r\n\r\n"
if _, err := conn.Write([]byte(request)); err != nil {
os.Exit(1)
}
line, err := bufio.NewReader(conn).ReadString('\n')
if err != nil {
os.Exit(1)
}
fields := strings.Fields(line)
if len(fields) < 2 {
os.Exit(1)
}
code := fields[1]
if len(code) != 3 || (code[0] != '2' && code[0] != '3') {
os.Exit(1)
}
}
func splitTarget(target string) (string, string, bool) {
target = strings.TrimSpace(target)
if target == "" || strings.HasPrefix(target, "https://") {
return "", "", false
}
target = strings.TrimPrefix(target, "http://")
addr := target
path := "/"
if slash := strings.IndexByte(target, '/'); slash >= 0 {
addr = target[:slash]
path = target[slash:]
}
if addr == "" || !strings.Contains(addr, ":") {
return "", "", false
}
return addr, path, true
}