github.com/morlay/goqcloud@v0.0.0-20181123023149-b00e0b0b9afc/transform/transport.go (about)

     1  package transform
     2  
     3  import (
     4  	"net/http"
     5  )
     6  
     7  type Transport = func(rt http.RoundTripper) http.RoundTripper
     8  
     9  func ComposeTransports(transports ...Transport) Transport {
    10  	return func(rt http.RoundTripper) http.RoundTripper {
    11  		for i := range transports {
    12  			transport := transports[i]
    13  			if transport == nil {
    14  				continue
    15  			}
    16  			rt = transport(rt)
    17  		}
    18  		return rt
    19  	}
    20  }