up
This commit is contained in:
@@ -3,6 +3,8 @@ package main
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"net"
|
||||
"os"
|
||||
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-contrib/sessions/cookie"
|
||||
@@ -161,9 +163,39 @@ func main() {
|
||||
}
|
||||
|
||||
// 9. Start the server.
|
||||
addr := fmt.Sprintf(":%s", cfg.Port)
|
||||
log.Printf("Go Blog starting on http://localhost%s", addr)
|
||||
if err := router.Run(addr); err != nil {
|
||||
log.Fatalf("Failed to start server: %v", err)
|
||||
webPort := cfg.Web.Port
|
||||
socketPath := cfg.Web.Socket
|
||||
usePort := webPort != "" && webPort != "0"
|
||||
useSocket := socketPath != ""
|
||||
|
||||
if !usePort && !useSocket {
|
||||
log.Fatalf("Neither port nor socket is configured — at least one must be enabled")
|
||||
}
|
||||
|
||||
if usePort {
|
||||
go func() {
|
||||
addr := fmt.Sprintf(":%s", webPort)
|
||||
log.Printf("Go Blog starting on http://localhost%s", addr)
|
||||
if err := router.Run(addr); err != nil {
|
||||
log.Fatalf("Failed to start HTTP server: %v", err)
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
if useSocket {
|
||||
go func() {
|
||||
os.Remove(socketPath) // remove stale socket file if exists
|
||||
listener, err := net.Listen("unix", socketPath)
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to listen on unix socket %s: %v", socketPath, err)
|
||||
}
|
||||
log.Printf("Go Blog starting on unix socket %s", socketPath)
|
||||
if err := router.RunListener(listener); err != nil {
|
||||
log.Fatalf("Failed to serve on unix socket: %v", err)
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
// Block forever.
|
||||
select {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user