Adding MustGet method. Updating README.
This commit is contained in:
		
							
								
								
									
										14
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								README.md
									
									
									
									
									
								
							@ -275,14 +275,14 @@ func main() {
 | 
			
		||||
func Logger() gin.HandlerFunc {
 | 
			
		||||
    return func(c *gin.Context) {
 | 
			
		||||
        t := time.Now()
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        // Set example variable
 | 
			
		||||
        c.Set("example", "12345")
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        // before request
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        c.Next()
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        // after request
 | 
			
		||||
        latency := time.Since(t)
 | 
			
		||||
        log.Print(latency)
 | 
			
		||||
@ -292,10 +292,10 @@ func Logger() gin.HandlerFunc {
 | 
			
		||||
func main() {
 | 
			
		||||
    r := gin.New()
 | 
			
		||||
    r.Use(Logger())
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    r.GET("/test", func(c *gin.Context){
 | 
			
		||||
        example := r.Get("example").(string)
 | 
			
		||||
        
 | 
			
		||||
        example := c.MustGet("example").(string)
 | 
			
		||||
 | 
			
		||||
        // it would print: "12345"
 | 
			
		||||
        log.Println(example)
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										13
									
								
								gin.go
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								gin.go
									
									
									
									
									
								
							@ -8,6 +8,7 @@ import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"github.com/julienschmidt/httprouter"
 | 
			
		||||
	"html/template"
 | 
			
		||||
	"log"
 | 
			
		||||
	"math"
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"path"
 | 
			
		||||
@ -280,8 +281,7 @@ func (c *Context) Set(key string, item interface{}) {
 | 
			
		||||
	c.Keys[key] = item
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Returns the value for the given key.
 | 
			
		||||
// It panics if the value doesn't exist.
 | 
			
		||||
// Get returns the value for the given key or an error if the key does not exist.
 | 
			
		||||
func (c *Context) Get(key string) (interface{}, error) {
 | 
			
		||||
	if c.Keys != nil {
 | 
			
		||||
		item, ok := c.Keys[key]
 | 
			
		||||
@ -292,6 +292,15 @@ func (c *Context) Get(key string) (interface{}, error) {
 | 
			
		||||
	return nil, errors.New("Key does not exist.")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// MustGet returns the value for the given key or panics if the value doesn't exist.
 | 
			
		||||
func (c *Context) MustGet(key string) interface{} {
 | 
			
		||||
	value, err := c.Get(key)
 | 
			
		||||
	if err != nil || value == nil {
 | 
			
		||||
		log.Panicf("Key %s doesn't exist", key)
 | 
			
		||||
	}
 | 
			
		||||
	return value
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/************************************/
 | 
			
		||||
/******** ENCOGING MANAGEMENT********/
 | 
			
		||||
/************************************/
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user