Preparing release Gin v1.0rc1
This commit is contained in:
		
							
								
								
									
										56
									
								
								examples/basic/main.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								examples/basic/main.go
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,56 @@
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/gin-gonic/gin"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var DB = make(map[string]string)
 | 
			
		||||
 | 
			
		||||
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")
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user