HTTP メッセージの途中でサーバー エラーを処理するにはどうすればよいですか?
メッセージのヘッダーを送信済みで、メッセージの本文をストリーミングしていると仮定すると、予期しないエラーが発生した場合はどうすればよいでしょうか。
また、接続エラーではなく、コンテンツの生成中にこのエラーが発生したと想定しています。
(大幅に) 簡略化されたコード:
// I can define any transfer encoding or header fields i need to.
send(header); // Sends the header to the Http client.
// Using an iterable instead of stream for code simplicity's sake.
Iterable<String> stream = getBodyStream();
Iterator<String> iterator = stream.iterator();
while (iterator.hasNext()) {
String string;
try {
string = iterator.next();
catch (Throwable error) { // Oops! an error generating the content.
// What do i do here? (In regards to the Http protocol)
}
send(string);
}
サーバーに障害が発生したため、接続を再試行するか放棄する必要があることをクライアントに伝える方法はありますか?
コードは大幅に簡略化されていますが、正確なコードではなく、プロトコルに関してのみ質問しています。
ありがとうございました