mirror of
				https://github.com/traefik/traefik.git
				synced 2025-11-04 02:11:15 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			26 lines
		
	
	
		
			636 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			636 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package tracing
 | 
						|
 | 
						|
import "net/http"
 | 
						|
 | 
						|
// HTTPHeadersCarrier custom implementation to fix duplicated headers
 | 
						|
// It has been fixed in https://github.com/opentracing/opentracing-go/pull/191
 | 
						|
type HTTPHeadersCarrier http.Header
 | 
						|
 | 
						|
// Set conforms to the TextMapWriter interface.
 | 
						|
func (c HTTPHeadersCarrier) Set(key, val string) {
 | 
						|
	h := http.Header(c)
 | 
						|
	h.Set(key, val)
 | 
						|
}
 | 
						|
 | 
						|
// ForeachKey conforms to the TextMapReader interface.
 | 
						|
func (c HTTPHeadersCarrier) ForeachKey(handler func(key, val string) error) error {
 | 
						|
	for k, vals := range c {
 | 
						|
		for _, v := range vals {
 | 
						|
			if err := handler(k, v); err != nil {
 | 
						|
				return err
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 |