code: func CheckRedirect(req *http.Request, via []*http.Request) error {
  	if via[0].Method == http.MethodGet {
  		return http.ErrUseLastResponse
  	}
  	return ErrRedirect
  }
docs: // CheckRedirect specifies the policy for dealing with redirect responses:
  // If the request is non-GET return `ErrRedirect`. Otherwise use the last response.
  //
  // Go 1.8 changes behavior for HTTP redirects (specifically 301, 307, and 308) in the client .
  // The Docker client (and by extension docker API client) can be made to send a request
  // like POST /containers//start where what would normally be in the name section of the URL is empty.
  // This triggers an HTTP 301 from the daemon.
  // In go 1.8 this 301 will be converted to a GET request, and ends up getting a 404 from the daemon.
  // This behavior change manifests in the client in that before the 301 was not followed and
  // the client did not generate an error, but now results in a message like Error response from daemon: page not found.