Package org.springframework.web.servlet.function

# Interface AsyncServerResponse

All Superinterfaces:
  `ServerResponse`

public interface AsyncServerResponse extends ServerResponse
Asynchronous subtype of `ServerResponse` that exposes the future response.

Since:
  5.3.2
Author:
  Arjen Poutsma
See Also:
  - `ServerResponse.async(Object)`

## Nested Class Summary

## Nested classes/interfaces inherited from interface org.springframework.web.servlet.function.ServerResponse

`ServerResponse.BodyBuilder, ServerResponse.Context, ServerResponse.HeadersBuilder<B extends ServerResponse.HeadersBuilder<B>>, ServerResponse.SseBuilder, ServerResponse.StreamBuilder`

## Method Summary

Modifier and Type
Method
Description
`ServerResponse`
`block()`
Blocks indefinitely until the future response is obtained.
`static AsyncServerResponse`
`create(Object asyncResponse)`
Create a `AsyncServerResponse` with the given asynchronous response.
`static AsyncServerResponse`
`create(Object asyncResponse, Duration timeout)`
Create a (built) response with the given asynchronous response.

### Methods inherited from interface org.springframework.web.servlet.function.ServerResponse

`cookies, headers, rawStatusCode, statusCode, writeTo`

## Method Details

### block

ServerResponse block()
Blocks indefinitely until the future response is obtained.

### create

static AsyncServerResponse create(Object asyncResponse)
Create a `AsyncServerResponse` with the given asynchronous response. Parameter `asyncResponse` can be a `CompletableFuture<ServerResponse>` or `Publisher<ServerResponse>` (or any asynchronous producer of a single `ServerResponse` that can be adapted via the `ReactiveAdapterRegistry`).

Parameters:
  `asyncResponse` - a `CompletableFuture<ServerResponse>` or `Publisher<ServerResponse>`
Returns:
  the asynchronous response

### create

static AsyncServerResponse create(Object asyncResponse, Duration timeout)
Create a (built) response with the given asynchronous response. Parameter `asyncResponse` can be a `CompletableFuture<ServerResponse>` or `Publisher<ServerResponse>` (or any asynchronous producer of a single `ServerResponse` that can be adapted via the `ReactiveAdapterRegistry`).

Parameters:
  `asyncResponse` - a `CompletableFuture<ServerResponse>` or `Publisher<ServerResponse>`
  `timeout` - maximum time period to wait for before timing out
Returns:
  the asynchronous response