package web import ( "net" "net/http" "os" "github.com/gin-gonic/gin" "github.com/spf13/viper" ) // InitRouter starts the router func InitRouter() { router := gin.Default() router.POST("/e/", encode) router.GET("/r/:short", redirect) router.GET("/d/:short", decode) router.GET("/i/:short", info) router.GET("/f/:short", getFile) if viper.GetBool("UseSocket") { listener, err := net.Listen("unix", viper.GetString("BindSocket")) if err != nil { return } os.Chmod(viper.GetString("BindSocket"), 0775) defer listener.Close() defer os.Remove(viper.GetString("BindSocket")) http.Serve(listener, router) } else { router.Run(viper.GetString("BindAddress")) } }