T
- the type of the response type from a polling call, or BinaryData if raw response body should be keptU
- the type of the final result object to deserialize into, or BinaryData if raw response body should be
keptpublic class OperationResourcePollingStrategy<T,U> extends Object implements PollingStrategy<T,U>
Constructor and Description |
---|
OperationResourcePollingStrategy(HttpPipeline httpPipeline)
Creates an instance of the operation resource polling strategy using a JSON serializer and "Operation-Location"
as the header for polling.
|
OperationResourcePollingStrategy(HttpPipeline httpPipeline,
ObjectSerializer serializer,
String operationLocationHeaderName)
Creates an instance of the operation resource polling strategy.
|
Modifier and Type | Method and Description |
---|---|
Mono<Boolean> |
canPoll(Response<?> initialResponse)
Checks if this strategy is able to handle polling for this long running operation based on the information in
the initial response.
|
Mono<U> |
getResult(PollingContext<T> pollingContext,
TypeReference<U> resultType)
Parses the response from the final GET call into the result type of the long running operation.
|
Mono<PollResponse<T>> |
onInitialResponse(Response<?> response,
PollingContext<T> pollingContext,
TypeReference<T> pollResponseType)
Parses the initial response into a
LongRunningOperationStatus , and stores information useful for polling
in the PollingContext . |
Mono<PollResponse<T>> |
poll(PollingContext<T> pollingContext,
TypeReference<T> pollResponseType)
Parses the response from the polling URL into a
PollResponse , and stores information
useful for further polling and final response in the PollingContext . |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
cancel
public OperationResourcePollingStrategy(HttpPipeline httpPipeline)
httpPipeline
- an instance of HttpPipeline
to send requests withpublic OperationResourcePollingStrategy(HttpPipeline httpPipeline, ObjectSerializer serializer, String operationLocationHeaderName)
httpPipeline
- an instance of HttpPipeline
to send requests withserializer
- a custom serializer for serializing and deserializing polling responsesoperationLocationHeaderName
- a custom header for polling the long running operationpublic Mono<Boolean> canPoll(Response<?> initialResponse)
PollingStrategy
canPoll
in interface PollingStrategy<T,U>
initialResponse
- the response from the initial method call to activate the long running operationpublic Mono<PollResponse<T>> onInitialResponse(Response<?> response, PollingContext<T> pollingContext, TypeReference<T> pollResponseType)
PollingStrategy
LongRunningOperationStatus
, and stores information useful for polling
in the PollingContext
. If the result is anything other than LongRunningOperationStatus.IN_PROGRESS
,
the long running operation will be terminated and none of the other methods will be invoked.onInitialResponse
in interface PollingStrategy<T,U>
response
- the response from the initial method call to activate the long running operationpollingContext
- the PollingContext
for the current polling operationpollResponseType
- the TypeReference
of the response type from a polling call, or BinaryData if raw
response body should be kept. This should match the generic parameter U
.public Mono<PollResponse<T>> poll(PollingContext<T> pollingContext, TypeReference<T> pollResponseType)
PollingStrategy
PollResponse
, and stores information
useful for further polling and final response in the PollingContext
. The result must have the
LongRunningOperationStatus
specified, and the entire polling response content as a BinaryData
.poll
in interface PollingStrategy<T,U>
pollingContext
- the PollingContext
for the current polling operationpollResponseType
- the TypeReference
of the response type from a polling call, or BinaryData if raw
response body should be kept. This should match the generic parameter U
.public Mono<U> getResult(PollingContext<T> pollingContext, TypeReference<U> resultType)
PollingStrategy
getResult
in interface PollingStrategy<T,U>
pollingContext
- the PollingContext
for the current polling operationresultType
- the TypeReference
of the final result object to deserialize into, or BinaryData if
raw response body should be kept.Copyright © 2021 Microsoft Corporation. All rights reserved.