Browse Source

Add section on Range requests to reference

Closes gh-35052
pull/35212/head
rstoyanchev 8 months ago
parent
commit
6f5a7eed76
  1. 2
      framework-docs/modules/ROOT/nav.adoc
  2. 20
      framework-docs/modules/ROOT/pages/web/webflux/range.adoc
  3. 20
      framework-docs/modules/ROOT/pages/web/webmvc/mvc-range.adoc

2
framework-docs/modules/ROOT/nav.adoc

@ -197,6 +197,7 @@ @@ -197,6 +197,7 @@
*** xref:web/webmvc-functional.adoc[]
*** xref:web/webmvc/mvc-uri-building.adoc[]
*** xref:web/webmvc/mvc-ann-async.adoc[]
*** xref:web/webmvc/mvc-range.adoc[]
*** xref:web/webmvc-cors.adoc[]
*** xref:web/webmvc-versioning.adoc[]
*** xref:web/webmvc/mvc-ann-rest-exceptions.adoc[]
@ -294,6 +295,7 @@ @@ -294,6 +295,7 @@
**** xref:web/webflux/controller/ann-advice.adoc[]
*** xref:web/webflux-functional.adoc[]
*** xref:web/webflux/uri-building.adoc[]
*** xref:web/webflux/range.adoc[]
*** xref:web/webflux-cors.adoc[]
*** xref:web/webflux-versioning.adoc[]
*** xref:web/webflux/ann-rest-exceptions.adoc[]

20
framework-docs/modules/ROOT/pages/web/webflux/range.adoc

@ -0,0 +1,20 @@ @@ -0,0 +1,20 @@
[[webflux-range]]
= Range Requests
:page-section-summary-toc: 1
[.small]#xref:web/webmvc/mvc-range.adoc[See equivalent in the Servlet stack]#
Spring WebFlux supports https://datatracker.ietf.org/doc/html/rfc9110#section-14[RFC 9110]
range requests. For an overview, see the
https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Range_requests[Ranger Requests]
Mozilla guide.
The `Range` header is parsed and handled transparently in WebFlux when an annotated
controller returns a `Resource` or `ResponseEntity<Resource>`, or a functional endpoint
xref:web/webflux-functional.adoc#webflux-fn-resources[serves a `Resource`]. `Range` header
support is also transparently handled when serving
xref:web/webflux/config.adoc#webflux-config-static-resources[static resources].
The underlying support is in the `HttpRange` class, which exposes methods to parse
`Range` headers and split a `Resource` into a `List<ResourceRegion>` that in turn can be
then written to the response via `ResourceRegionEncoder` and `ResourceHttpMessageWriter`.

20
framework-docs/modules/ROOT/pages/web/webmvc/mvc-range.adoc

@ -0,0 +1,20 @@ @@ -0,0 +1,20 @@
[[mvc-range]]
= Range Requests
:page-section-summary-toc: 1
[.small]#xref:web/webflux/range.adoc[See equivalent in the Reactive stack]#
Spring MVC supports https://datatracker.ietf.org/doc/html/rfc9110#section-14[RFC 9110]
range requests. For an overview, see the
https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Range_requests[Ranger Requests]
Mozilla guide.
The `Range` header is parsed and handled transparently in Spring MVC when an annotated
controller returns a `Resource` or `ResponseEntity<Resource>`, or a functional endpoint
xref:web/webmvc-functional.adoc#webmvc-fn-resources[serves a `Resource`]. `Range` header
support is also transparently handled when serving
xref:web/webmvc/mvc-config/static-resources.adoc[static resources].
The underlying support is in the `HttpRange` class, which exposes methods to parse
`Range` headers and split a `Resource` into a `List<ResourceRegion>` that in turn can be
then written to the response via `ResourceRegionHttpMessageConverter`.
Loading…
Cancel
Save