code: func GetContextFromURL(out io.Writer, remoteURL, dockerfileName string) (io.ReadCloser, string, error) {
  	response, err := getWithStatusError(remoteURL)
  	if err != nil {
  		return nil, "", errors.Errorf("unable to download remote context %s: %v", remoteURL, err)
  	}
  	progressOutput := streamformatter.NewProgressOutput(out)
  
  	// Pass the response body through a progress reader.
  	progReader := progress.NewProgressReader(response.Body, progressOutput, response.ContentLength, "", fmt.Sprintf("Downloading build context from remote url: %s", remoteURL))
  
  	return GetContextFromReader(ioutils.NewReadCloserWrapper(progReader, func() error { return response.Body.Close() }), dockerfileName)
  }
docs: // GetContextFromURL uses a remote URL as context for a `docker build`. The
  // remote resource is downloaded as either a Dockerfile or a tar archive.
  // Returns the tar archive used for the context and a path of the
  // dockerfile inside the tar.