36 lines
854 B
Go
36 lines
854 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"net/http"
|
|
"os"
|
|
"time"
|
|
)
|
|
|
|
func main() {
|
|
// 获取环境变量或使用默认值
|
|
port := os.Getenv("PORT")
|
|
if port == "" {
|
|
port = "8080"
|
|
}
|
|
|
|
// 创建一个简单的HTTP服务器
|
|
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
|
|
hostname, _ := os.Hostname()
|
|
fmt.Fprintf(w, "Hello from DevContainer!\n")
|
|
fmt.Fprintf(w, "Server time: %s\n", time.Now().Format(time.RFC1123))
|
|
fmt.Fprintf(w, "Hostname: %s\n", hostname)
|
|
fmt.Fprintf(w, "Remote Address: %s\n", r.RemoteAddr)
|
|
fmt.Fprintf(w, "User-Agent: %s\n", r.UserAgent())
|
|
})
|
|
|
|
http.HandleFunc("/health", func(w http.ResponseWriter, r *http.Request) {
|
|
w.WriteHeader(http.StatusOK)
|
|
fmt.Fprintf(w, "Healthy")
|
|
})
|
|
|
|
// 启动服务器
|
|
log.Printf("Starting server on port %s", port)
|
|
log.Fatal(http.ListenAndServe(":"+port, nil))
|
|
} |