code: func (p Providers) ByScheme(scheme string) (Constructor, error) {
  	for _, pp := range p {
  		if pp.Provides(scheme) {
  			return pp.New, nil
  		}
  	}
  	return nil, fmt.Errorf("scheme %q not supported", scheme)
  }
docs: // ByScheme returns a Provider that handles the given scheme.
  //
  // If no provider handles this scheme, this will return an error.