// NewAsyncPollingRequest allocates and returns a new http.Request to poll an Azure long-running // operation. If it successfully creates the request, it will also close the body of the passed // response, otherwise the body remains open. func NewAsyncPollingRequest(resp *http.Response, c autorest.Client) (*http.Request, error) { location := GetAsyncOperation(resp) if location == "" { return nil, autorest.NewErrorWithResponse("azure", "NewAsyncPollingRequest", resp, "Azure-AsyncOperation header missing from response that requires polling") } req, err := autorest.Prepare(&http.Request{}, autorest.AsGet(), autorest.WithBaseURL(location)) if err != nil { return nil, autorest.NewErrorWithError(err, "azure", "NewAsyncPollingRequest", nil, "Failure creating poll request to %s", location) } autorest.Respond(resp, c.ByInspecting(), autorest.ByClosing()) return req, nil }