Merge pull request #1577 from xiekeyang/context
type judgment in context
This commit is contained in:
		
						commit
						e5aa9c8e56
					
				
					 1 changed files with 4 additions and 12 deletions
				
			
		|  | @ -8,25 +8,17 @@ import ( | |||
| // since that time. If the key is not found, the value returned will be zero. | ||||
| // This is helpful when inferring metrics related to context execution times. | ||||
| func Since(ctx Context, key interface{}) time.Duration { | ||||
| 	startedAtI := ctx.Value(key) | ||||
| 	if startedAtI != nil { | ||||
| 		if startedAt, ok := startedAtI.(time.Time); ok { | ||||
| 			return time.Since(startedAt) | ||||
| 		} | ||||
| 	if startedAt, ok := ctx.Value(key).(time.Time); ok { | ||||
| 		return time.Since(startedAt) | ||||
| 	} | ||||
| 
 | ||||
| 	return 0 | ||||
| } | ||||
| 
 | ||||
| // GetStringValue returns a string value from the context. The empty string | ||||
| // will be returned if not found. | ||||
| func GetStringValue(ctx Context, key interface{}) (value string) { | ||||
| 	stringi := ctx.Value(key) | ||||
| 	if stringi != nil { | ||||
| 		if valuev, ok := stringi.(string); ok { | ||||
| 			value = valuev | ||||
| 		} | ||||
| 	if valuev, ok := ctx.Value(key).(string); ok { | ||||
| 		value = valuev | ||||
| 	} | ||||
| 
 | ||||
| 	return value | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue