package async

import "github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/async"

Index

Functions

func Applicable

func Applicable(resp *http.Response) bool

Applicable returns true if the LRO is using Azure-AsyncOperation.

func CanResume

func CanResume(token map[string]any) bool

CanResume returns true if the token can rehydrate this poller type.

Types

type Poller

type Poller[T any] struct {

	// The URL from Azure-AsyncOperation header.
	AsyncURL string `json:"asyncURL"`

	// The URL from Location header.
	LocURL string `json:"locURL"`

	// The URL from the initial LRO request.
	OrigURL string `json:"origURL"`

	// The HTTP method from the initial LRO request.
	Method string `json:"method"`

	// The value of final-state-via from swagger, can be the empty string.
	FinalState pollers.FinalStateVia `json:"finalState"`

	// The LRO's current state.
	CurState string `json:"state"`
	// contains filtered or unexported fields
}

Poller is an LRO poller that uses the Azure-AsyncOperation pattern.

func New

func New[T any](pl exported.Pipeline, resp *http.Response, finalState pollers.FinalStateVia) (*Poller[T], error)

New creates a new Poller from the provided initial response and final-state type. Pass nil for response to create an empty Poller for rehydration.

func (*Poller[T]) Done

func (p *Poller[T]) Done() bool

Done returns true if the LRO is in a terminal state.

func (*Poller[T]) Poll

func (p *Poller[T]) Poll(ctx context.Context) (*http.Response, error)

Poll retrieves the current state of the LRO.

func (*Poller[T]) Result

func (p *Poller[T]) Result(ctx context.Context, out *T) error

Source Files

async.go

Version
v1.18.0 (latest)
Published
Apr 3, 2025
Platform
linux/amd64
Imports
9 packages
Last checked
5 hours ago

Tools for package owners.