public abstract class AbstractServerHttpResponse extends ObjectSE implements ServerHttpResponse
ServerHttpResponse
実装の基本クラス。コンストラクターと説明 |
---|
AbstractServerHttpResponse(DataBufferFactory dataBufferFactory) |
AbstractServerHttpResponse(DataBufferFactory dataBufferFactory, HttpHeaders headers) |
修飾子と型 | メソッドと説明 |
---|---|
void | addCookie(ResponseCookie cookie) 指定された ResponseCookie を追加します。 |
protected abstract void | applyCookies() 基になるレスポンスに getHeaders() からの Cookie を追加します。 |
protected abstract void | applyHeaders() レスポンスがコミットされたときに呼び出され、サブクラスが基になるレスポンスにヘッダー値を適用できるようにします。 |
protected abstract void | applyStatusCode() 状態コードを基になるレスポンスに書き込みます。 |
void | beforeCommit(SupplierSE<? extends reactor.core.publisher.Mono<VoidSE>> action) HttpOutputMessage がコミットされる直前に適用するアクションを登録します。 |
DataBufferFactory | bufferFactory() ボディの作成に使用できる DataBufferFactory を返します。 |
protected reactor.core.publisher.Mono<VoidSE> | doCommit() ボディなしのレスポンス用の doCommit(Supplier) のバリアント。 |
protected reactor.core.publisher.Mono<VoidSE> | doCommit(SupplierSE<? extends reactor.core.publisher.Mono<VoidSE>> writeAction) beforeCommit アクションを適用し、レスポンスステータスとヘッダー / Cookie を適用し、レスポンス本文を記述します。 |
MultiValueMap<StringSE, ResponseCookie> | getCookies() Cookie を含む可変マップを返し、サーバーに送信します。 |
HttpHeaders | getHeaders() このメッセージのヘッダーを返します。 |
abstract <T> T | getNativeResponse() 基礎となるサーバーのレスポンスを返します。 |
IntegerSE | getRawStatusCode() 設定されたステータスコードを返すか、基になるサーバーからのレスポンスのステータスにフォールバックします。 |
HttpStatus | getStatusCode() 設定されたステータスコードを返すか、基になるサーバーからのレスポンスのステータスにフォールバックします。 |
IntegerSE | getStatusCodeValue() 使用すべきではありません。 5.2.4 現在、 ServerHttpResponse.getRawStatusCode() を推奨 |
boolean | isCommitted() HttpOutputMessage がコミットされているかどうか。 |
reactor.core.publisher.Mono<VoidSE> | setComplete() メッセージ処理が完了したことを示し、クリーンアップまたは処理の終了タスクを実行できるようにします。たとえば、 HttpMessage.getHeaders() を介して行われたヘッダー変更を基になる HTTP メッセージに適用します(まだ適用されていない場合)。 |
boolean | setRawStatusCode(IntegerSE statusCode) HTTP ステータスコードを整数として指定された値(非標準であり、 HttpStatus 列挙型で解決できない可能性があります)に設定します。 |
boolean | setStatusCode(HttpStatus status) レスポンスの HTTP ステータスコードを設定します。 |
void | setStatusCodeValue(IntegerSE statusCode) 使用すべきではありません。 5.2.4 現在、 ServerHttpResponse.setRawStatusCode(Integer) を推奨 |
protected void | touchDataBuffer(DataBuffer buffer) ヒントがプールされたバッファであり、リークトラッキングをサポートしている場合、サブクラスがヒントをデータバッファに関連付けることを許可します。 |
reactor.core.publisher.Mono<VoidSE> | writeAndFlushWith(Publisher<? extends Publisher<? extends DataBuffer>> body) Publishers の指定された Publisher を使用して、HttpOutputMessage の本体を基礎となる HTTP レイヤーに書き込み、各 Publisher<DataBuffer> の後にフラッシュします。 |
protected abstract reactor.core.publisher.Mono<VoidSE> | writeAndFlushWithInternal(Publisher<? extends Publisher<? extends DataBuffer>> body) 基本となるレスポンスに書き込み、各 Publisher<DataBuffer> の後にフラッシュします。 |
reactor.core.publisher.Mono<VoidSE> | writeWith(Publisher<? extends DataBuffer> body) 指定された Publisher を使用して、メッセージの本文を基礎となる HTTP レイヤーに書き込みます。 |
protected abstract reactor.core.publisher.Mono<VoidSE> | writeWithInternal(Publisher<? extends DataBuffer> body) 基本となるレスポンスに書き込みます。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public AbstractServerHttpResponse(DataBufferFactory dataBufferFactory)
public AbstractServerHttpResponse(DataBufferFactory dataBufferFactory, HttpHeaders headers)
public final DataBufferFactory bufferFactory()
ReactiveHttpOutputMessage
DataBufferFactory
を返します。ReactiveHttpOutputMessage
の bufferFactory
ReactiveHttpOutputMessage.writeWith(Publisher)
public boolean setStatusCode(@Nullable HttpStatus status)
ServerHttpResponse
ServerHttpResponse
の setStatusCode
status
- HttpStatus
列挙値としての HTTP ステータス false
、正常に設定された場合は true
。@Nullable public HttpStatus getStatusCode()
ServerHttpResponse
HttpStatus
列挙範囲外の場合、または基になるサーバーからデフォルト値がない場合、戻り値は null
になります。ServerHttpResponse
の getStatusCode
public boolean setRawStatusCode(@Nullable IntegerSE statusCode)
ServerHttpResponse
HttpStatus
列挙型で解決できない可能性があります)に設定します。ServerHttpResponse
の setRawStatusCode
statusCode
- ステータスコード値 false
、正常に設定された場合は true
。@Nullable public IntegerSE getRawStatusCode()
ServerHttpResponse
null
になる可能性があります。ServerHttpResponse
の getRawStatusCode
@DeprecatedSE public void setStatusCodeValue(@Nullable IntegerSE statusCode)
ServerHttpResponse.setRawStatusCode(Integer)
に切り替え。statusCode
- 整数値としての HTTP ステータス @Nullable @DeprecatedSE public IntegerSE getStatusCodeValue()
ServerHttpResponse.getRawStatusCode()
に切り替え。public HttpHeaders getHeaders()
HttpMessage
HttpMessage
の getHeaders
null
)public MultiValueMap<StringSE,ResponseCookie> getCookies()
ServerHttpResponse
ServerHttpResponse
の getCookies
public void addCookie(ResponseCookie cookie)
ServerHttpResponse
ResponseCookie
を追加します。ServerHttpResponse
の addCookie
cookie
- 追加する Cookiepublic abstract <T> T getNativeResponse()
注意 : これは主に、spring-webflux モジュールでの WebSocket アップグレードなどの内部フレームワークの使用のために公開されています。
public void beforeCommit(SupplierSE<? extends reactor.core.publisher.Mono<VoidSE>> action)
ReactiveHttpOutputMessage
注意 : 指定されたアクションは適切に延期する必要があります。Mono.defer(java.util.function.Supplier<? extends reactor.core.publisher.Mono<? extends T>>)
または Mono.fromRunnable(java.lang.Runnable)
を介して、他のアクションに対して適切な順序で実行されるようにします。
ReactiveHttpOutputMessage
の beforeCommit
action
- 適用するアクション public boolean isCommitted()
ReactiveHttpOutputMessage
ReactiveHttpOutputMessage
の isCommitted
public final reactor.core.publisher.Mono<VoidSE> writeWith(Publisher<? extends DataBuffer> body)
ReactiveHttpOutputMessage
Publisher
を使用して、メッセージの本文を基礎となる HTTP レイヤーに書き込みます。ReactiveHttpOutputMessage
の writeWith
body
- 本文コンテンツ発行者 Mono
public final reactor.core.publisher.Mono<VoidSE> writeAndFlushWith(Publisher<? extends Publisher<? extends DataBuffer>> body)
ReactiveHttpOutputMessage
Publishers
の指定された Publisher
を使用して、HttpOutputMessage の本体を基礎となる HTTP レイヤーに書き込み、各 Publisher<DataBuffer>
の後にフラッシュします。ReactiveHttpOutputMessage
の writeAndFlushWith
body
- 本文コンテンツ発行者 Mono
public reactor.core.publisher.Mono<VoidSE> setComplete()
ReactiveHttpOutputMessage
HttpMessage.getHeaders()
を介して行われたヘッダー変更を基になる HTTP メッセージに適用します(まだ適用されていない場合)。このメソッドは、メッセージ処理の最後に自動的に呼び出される必要があるため、通常はアプリケーションで呼び出す必要はありません。複数回呼び出された場合、副作用はありません。
ReactiveHttpOutputMessage
の setComplete
Mono
protected reactor.core.publisher.Mono<VoidSE> doCommit()
doCommit(Supplier)
のバリアント。protected reactor.core.publisher.Mono<VoidSE> doCommit(@Nullable SupplierSE<? extends reactor.core.publisher.Mono<VoidSE>> writeAction)
beforeCommit
アクションを適用し、レスポンスステータスとヘッダー / Cookie を適用し、レスポンス本文を記述します。writeAction
- レスポンス本文を書き込むアクション (null
の場合があります)protected abstract reactor.core.publisher.Mono<VoidSE> writeWithInternal(Publisher<? extends DataBuffer> body)
body
- 一緒に書くパブリッシャー protected abstract reactor.core.publisher.Mono<VoidSE> writeAndFlushWithInternal(Publisher<? extends Publisher<? extends DataBuffer>> body)
Publisher<DataBuffer>
の後にフラッシュします。body
- 書き込みおよびフラッシュするパブリッシャー protected abstract void applyStatusCode()
protected abstract void applyHeaders()
ほとんどのサブクラスは、ネイティブレスポンスヘッダーへのアダプターをラップする HttpHeaders
インスタンスを使用して、変更が実行時に基礎となるレスポンスに伝播されることに注意してください。つまり、このコールバックは通常、サーブレットレスポンスの contentType または characterEncoding フィールドの設定などの特殊な更新以外では使用されません。
protected abstract void applyCookies()
getHeaders()
からの Cookie を追加します。このメソッドは 1 回だけ呼び出されます。protected void touchDataBuffer(DataBuffer buffer)
buffer
- ヒントを添付するバッファ