func main() { port := os.Getenv("PORT") if port == "" { log.Fatal("$PORT must be set") } gin.SetMode(gin.ReleaseMode) app := gin.Default() app.Use(gzip.Gzip(gzip.DefaultCompression)) app.GET("/", func(c *gin.Context) { c.String(http.StatusOK, "Go away.") }) app.POST("/url", func(c *gin.Context) { url := c.PostForm("_url") log.Print(url) resp, err := http.Get(url) if err != nil { // handle error } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) c.Data(http.StatusOK, "text/html; charset=windows-1251", body) }) app.Run(":" + port) }
func main() { r := gin.Default() r.Use(gzip.Gzip(gzip.DefaultCompression)) r.GET("/ping", func(c *gin.Context) { c.String(200, "pong "+fmt.Sprint(time.Now().Unix())) }) // Listen and Server in 0.0.0.0:8080 r.Run(":8080") }
func main() { router := gin.Default() router.SetHTMLTemplate(html) router.GET("/room/:roomid", roomGET) router.POST("/room/:roomid", roomPOST) router.DELETE("/room/:roomid", roomDELETE) router.GET("/stream/:roomid", stream) router.Run(":8080") }
func main() { r := gin.Default() // Ping test r.GET("/ping", func(c *gin.Context) { c.String(200, "pong") }) // Get user value r.GET("/user/:name", func(c *gin.Context) { user := c.Params.ByName("name") value, ok := DB[user] if ok { c.JSON(200, gin.H{"user": user, "value": value}) } else { c.JSON(200, gin.H{"user": user, "status": "no value"}) } }) // Authorized group (uses gin.BasicAuth() middleware) // Same than: // authorized := r.Group("/") // authorized.Use(gin.BasicAuth(gin.Credentials{ // "foo": "bar", // "manu": "123", //})) authorized := r.Group("/", gin.BasicAuth(gin.Accounts{ "foo": "bar", // user:foo password:bar "manu": "123", // user:manu password:123 })) authorized.POST("admin", func(c *gin.Context) { user := c.MustGet(gin.AuthUserKey).(string) // Parse JSON var json struct { Value string `json:"value" binding:"required"` } if c.Bind(&json) == nil { DB[user] = json.Value c.JSON(200, gin.H{"status": "ok"}) } }) // Listen and Server in 0.0.0.0:8080 r.Run(":8080") }