@ -44,6 +44,7 @@ inline fun <reified T : Any> ServerResponse.BodyBuilder.body(publisher: Publishe
@@ -44,6 +44,7 @@ inline fun <reified T : Any> ServerResponse.BodyBuilder.body(publisher: Publishe
* @author Sebastien Deleuze
* @since 5.0
* /
@Deprecated ( " Use 'sse().body()' instead. " )
inline fun < reified T : Any > ServerResponse . BodyBuilder . bodyToServerSentEvents ( publisher : Publisher < T > ) : Mono < ServerResponse > =
contentType ( MediaType . TEXT _EVENT _STREAM ) . body ( publisher , object : ParameterizedTypeReference < T > ( ) { } )
@ -68,6 +69,13 @@ fun ServerResponse.BodyBuilder.xml() = contentType(MediaType.APPLICATION_XML)
@@ -68,6 +69,13 @@ fun ServerResponse.BodyBuilder.xml() = contentType(MediaType.APPLICATION_XML)
* /
fun ServerResponse . BodyBuilder . html ( ) = contentType ( MediaType . TEXT _HTML )
/ * *
* Shortcut for setting [ MediaType . TEXT _EVENT _STREAM ] ` Content - Type ` header .
* @author Sebastien Deleuze
* @since 5.2
* /
fun ServerResponse . BodyBuilder . sse ( ) = contentType ( MediaType . TEXT _EVENT _STREAM )
/ * *
* Coroutines variant of [ ServerResponse . HeadersBuilder . build ] .
*
@ -77,17 +85,16 @@ fun ServerResponse.BodyBuilder.html() = contentType(MediaType.TEXT_HTML)
@@ -77,17 +85,16 @@ fun ServerResponse.BodyBuilder.html() = contentType(MediaType.TEXT_HTML)
suspend fun ServerResponse . HeadersBuilder < out ServerResponse . HeadersBuilder < * > > . buildAndAwait ( ) : ServerResponse =
build ( ) . awaitSingle ( )
/ * *
* Coroutines [ Flow ] based extension for [ ServerResponse . BodyBuilder . body ] providing a
* ` body ( Flow < T > ) ` variant . This extension is not subject to type erasure and retains
* ` bodyFlowAndAwait ( Flow < T > ) ` variant . This extension is not subject to type erasure and retains
* actual generic type arguments .
*
* @author Sebastien Deleuze
* @since 5.0
* @since 5.2
* /
@FlowPreview
suspend inline fun < reified T : Any > ServerResponse . BodyBuilder . bodyAndAwait ( flow : Flow < T > ) : ServerResponse =
suspend inline fun < reified T : Any > ServerResponse . BodyBuilder . bodyFlow AndAwait ( flow : Flow < T > ) : ServerResponse =
body ( flow . asPublisher ( ) , object : ParameterizedTypeReference < T > ( ) { } ) . awaitSingle ( )
/ * *
@ -99,19 +106,6 @@ suspend inline fun <reified T : Any> ServerResponse.BodyBuilder.bodyAndAwait(flo
@@ -99,19 +106,6 @@ suspend inline fun <reified T : Any> ServerResponse.BodyBuilder.bodyAndAwait(flo
suspend fun ServerResponse . BodyBuilder . bodyAndAwait ( body : Any ) : ServerResponse =
syncBody ( body ) . awaitSingle ( )
/ * *
* Coroutines [ Flow ] based extension for [ ServerResponse . BodyBuilder . body ] providing a
* ` bodyToServerSentEvents ( Flow < T > ) ` variant . This extension is not subject to type
* erasure and retains actual generic type arguments .
*
* @author Sebastien Deleuze
* @since 5.0
* /
@FlowPreview
suspend inline fun < reified T : Any > ServerResponse . BodyBuilder . bodyToServerSentEventsAndAwait ( flow : Flow < T > ) : ServerResponse =
contentType ( MediaType . TEXT _EVENT _STREAM ) . body ( flow . asPublisher ( ) , object : ParameterizedTypeReference < T > ( ) { } ) . awaitSingle ( )
/ * *
* Coroutines variant of [ ServerResponse . BodyBuilder . syncBody ] without the sync prefix since it is ok to use it within
* another suspendable function .