code: func NewTransport(h host.Host, opts ...Option) *RoundTripper {
  	defOpts := options{
  		Protocol: DefaultP2PProtocol,
  	}
  	for _, o := range opts {
  		o(&defOpts)
  	}
  
  	return &RoundTripper{h, defOpts}
  }
docs: // NewTransport returns a new RoundTripper which uses the provided
  // libP2P host to perform an http request and obtain the response.
  //
  // The typical use case for NewTransport is to register the "libp2p"
  // protocol with a Transport, as in:
  //     t := &http.Transport{}
  //     t.RegisterProtocol("libp2p", p2phttp.NewTransport(host, ProtocolOption(DefaultP2PProtocol)))
  //     c := &http.Client{Transport: t}
  //     res, err := c.Get("libp2p://Qmaoi4isbcTbFfohQyn28EiYM5CDWQx9QRCjDh3CTeiY7P/index.html")
  //     ...