async

package
v0.0.0-...-45adee8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 1, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL