func withWatcher() autorest.SendDecorator { return func(s autorest.Sender) autorest.Sender { return autorest.SenderFunc(func(r *http.Request) (*http.Response, error) { fmt.Printf("Sending %s %s\n", r.Method, r.URL) resp, err := s.Do(r) fmt.Printf("...received status %s\n", resp.Status) if autorest.ResponseRequiresPolling(resp) { fmt.Printf("...will poll after %d seconds\n", int(autorest.GetPollingDelay(resp, time.Duration(0))/time.Second)) fmt.Printf("...will poll at %s\n", autorest.GetPollingLocation(resp)) } fmt.Println("") return resp, err }) } }
// ResponseIsLongRunning returns true if the passed response is for an Azure long-running operation. func ResponseIsLongRunning(resp *http.Response) bool { return autorest.ResponseRequiresPolling(resp, http.StatusCreated) && GetAsyncOperation(resp) != "" }