2021-11-10 19:06:12 +00:00
|
|
|
package router
|
|
|
|
|
|
|
|
import (
|
|
|
|
"html/template"
|
|
|
|
"log"
|
|
|
|
|
|
|
|
"github.com/dcarrillo/whatismyip/internal/setting"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
|
|
)
|
|
|
|
|
2021-11-30 16:21:01 +00:00
|
|
|
// SetupTemplate reads and parses a template from file
|
2021-11-10 19:06:12 +00:00
|
|
|
func SetupTemplate(r *gin.Engine) {
|
|
|
|
if setting.App.TemplatePath == "" {
|
|
|
|
t, _ := template.New("home").Parse(home)
|
|
|
|
r.SetHTMLTemplate(t)
|
|
|
|
} else {
|
|
|
|
log.Printf("Template %s has been loaded", setting.App.TemplatePath)
|
|
|
|
r.LoadHTMLFiles(setting.App.TemplatePath)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-11-30 16:21:01 +00:00
|
|
|
// Setup defines the endpoints
|
2021-11-10 19:06:12 +00:00
|
|
|
func Setup(r *gin.Engine) {
|
|
|
|
r.GET("/", getRoot)
|
|
|
|
r.GET("/client-port", getClientPortAsString)
|
|
|
|
r.GET("/geo", getGeoAsString)
|
|
|
|
r.GET("/geo/:field", getGeoAsString)
|
|
|
|
r.GET("/asn", getASNAsString)
|
|
|
|
r.GET("/asn/:field", getASNAsString)
|
|
|
|
r.GET("/headers", getHeadersAsSortedString)
|
|
|
|
r.GET("/all", getAllAsString)
|
|
|
|
r.GET("/json", getJSON)
|
|
|
|
r.GET("/:header", getHeaderAsString)
|
|
|
|
}
|