Interface ServerResponse.HeadersBuilder<B extends ServerResponse.HeadersBuilder<B>>
- Type Parameters:
B- the builder subclass
- All Known Subinterfaces:
ServerResponse.BodyBuilder
- Enclosing interface:
- ServerResponse
public static interface ServerResponse.HeadersBuilder<B extends ServerResponse.HeadersBuilder<B>>
Defines a builder that adds headers to the response.
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Ballow(Set<HttpMethod> allowedMethods)Set the set of allowedHTTP methods, as specified by theAllowheader.Ballow(HttpMethod... allowedMethods)Set the set of allowedHTTP methods, as specified by theAllowheader.reactor.core.publisher.Mono<ServerResponse>build()Build the response entity with no body.reactor.core.publisher.Mono<ServerResponse>build(BiFunction<ServerWebExchange,ServerResponse.Context,reactor.core.publisher.Mono<Void>> writeFunction)Build the response entity with a custom writer function.reactor.core.publisher.Mono<ServerResponse>build(org.reactivestreams.Publisher<Void> voidPublisher)Build the response entity with no body.BcacheControl(CacheControl cacheControl)Set the caching directives for the resource, as specified by the HTTP 1.1Cache-Controlheader.Bcookie(ResponseCookie cookie)Add the given cookie to the response.Bcookies(Consumer<MultiValueMap<String,ResponseCookie>> cookiesConsumer)Manipulate this response's cookies with the given consumer.BeTag(String eTag)Set the entity tag of the body, as specified by theETagheader.Bheader(String headerName, String... headerValues)Add the given header value(s) under the given name.Bheaders(Consumer<HttpHeaders> headersConsumer)Manipulate this response's headers with the given consumer.BlastModified(Instant lastModified)Set the time the resource was last changed, as specified by theLast-Modifiedheader.BlastModified(ZonedDateTime lastModified)Set the time the resource was last changed, as specified by theLast-Modifiedheader.Blocation(URI location)Set the location of a resource, as specified by theLocationheader.BvaryBy(String... requestHeaders)Configure one or more request header names (e.g.
Method Detail
header
B header(String headerName, String... headerValues)
Add the given header value(s) under the given name.- Parameters:
headerName- the header nameheaderValues- the header value(s)- Returns:
- this builder
- See Also:
HttpHeaders.add(String, String)
headers
B headers(Consumer<HttpHeaders> headersConsumer)
Manipulate this response's headers with the given consumer. The headers provided to the consumer are "live", so that the consumer can be used to overwrite existing header values, remove values, or use any of the otherHttpHeadersmethods.- Parameters:
headersConsumer- a function that consumes theHttpHeaders- Returns:
- this builder
cookie
B cookie(ResponseCookie cookie)
Add the given cookie to the response.- Parameters:
cookie- the cookie to add- Returns:
- this builder
cookies
B cookies(Consumer<MultiValueMap<String,ResponseCookie>> cookiesConsumer)
Manipulate this response's cookies with the given consumer. The cookies provided to the consumer are "live", so that the consumer can be used to overwrite existing cookies, remove cookies, or use any of the otherMultiValueMapmethods.- Parameters:
cookiesConsumer- a function that consumes the cookies- Returns:
- this builder
allow
B allow(HttpMethod... allowedMethods)
Set the set of allowedHTTP methods, as specified by theAllowheader.- Parameters:
allowedMethods- the allowed methods- Returns:
- this builder
- See Also:
HttpHeaders.setAllow(Set)
allow
B allow(Set<HttpMethod> allowedMethods)
Set the set of allowedHTTP methods, as specified by theAllowheader.- Parameters:
allowedMethods- the allowed methods- Returns:
- this builder
- See Also:
HttpHeaders.setAllow(Set)
eTag
B eTag(String eTag)
Set the entity tag of the body, as specified by theETagheader.- Parameters:
eTag- the new entity tag- Returns:
- this builder
- See Also:
HttpHeaders.setETag(String)
lastModified
B lastModified(ZonedDateTime lastModified)
Set the time the resource was last changed, as specified by theLast-Modifiedheader.- Parameters:
lastModified- the last modified date- Returns:
- this builder
- See Also:
HttpHeaders.setLastModified(long)
lastModified
B lastModified(Instant lastModified)
Set the time the resource was last changed, as specified by theLast-Modifiedheader.- Parameters:
lastModified- the last modified date- Returns:
- this builder
- Since:
- 5.1.4
- See Also:
HttpHeaders.setLastModified(long)
location
B location(URI location)
Set the location of a resource, as specified by theLocationheader.- Parameters:
location- the location- Returns:
- this builder
- See Also:
HttpHeaders.setLocation(URI)
cacheControl
B cacheControl(CacheControl cacheControl)
Set the caching directives for the resource, as specified by the HTTP 1.1Cache-Controlheader.A
CacheControlinstance can be built likeCacheControl.maxAge(3600).cachePublic().noTransform().- Parameters:
cacheControl- a builder for cache-related HTTP response headers- Returns:
- this builder
- See Also:
- RFC-7234 Section 5.2
varyBy
B varyBy(String... requestHeaders)
Configure one or more request header names (e.g. "Accept-Language") to add to the "Vary" response header to inform clients that the response is subject to content negotiation and variances based on the value of the given request headers. The configured request header names are added only if not already present in the response "Vary" header.- Parameters:
requestHeaders- request header names- Returns:
- this builder
build
reactor.core.publisher.Mono<ServerResponse> build()
Build the response entity with no body.
build
reactor.core.publisher.Mono<ServerResponse> build(org.reactivestreams.Publisher<Void> voidPublisher)
Build the response entity with no body.The response will be committed when the given
voidPublishercompletes.- Parameters:
voidPublisher- the publisher to indicate when the response should be committed
build
reactor.core.publisher.Mono<ServerResponse> build(BiFunction<ServerWebExchange,ServerResponse.Context,reactor.core.publisher.Mono<Void>> writeFunction)
Build the response entity with a custom writer function.- Parameters:
writeFunction- the function used to write to theServerWebExchange