enhance(backend): 配送先が410 Goneで応答してきた場合配送停止するように (#10298)

* enhance(backend): 配送先が410 Goneで応答してきた場合配送停止するように

* Update CHANGELOG.md
This commit is contained in:
CyberRex 2023-03-13 09:46:53 +09:00 committed by GitHub
parent 0d2bee787d
commit b18df999cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 0 deletions

View File

@ -25,6 +25,7 @@ You should also include the user name that made the change.
- アクティブユーザー数チャートの記録上限値を拡張
- Playのソースコード上限文字数を2倍に拡張
- 付箋ウィジェットの高さを設定可能に
- 配送先サーバーが410 Goneで応答してきた場合は自動で配送停止をするように
### Bugfixes
- プロフィールで設定した情報が削除できない問題を修正

View File

@ -115,6 +115,18 @@ export class DeliverProcessorService {
if (res instanceof StatusError) {
// 4xx
if (res.isClientError) {
// 相手が閉鎖していることを明示しているため、配送停止する
if (res.statusCode === 410) {
this.federatedInstanceService.fetch(host).then(i => {
this.instancesRepository.update(i.id, {
isSuspended: true,
});
this.federatedInstanceService.updateCachePartial(host, {
isSuspended: true,
});
});
return `${host} is gone`;
}
// HTTPステータスコード4xxはクライアントエラーであり、それはつまり
// 何回再送しても成功することはないということなのでエラーにはしないでおく
return `${res.statusCode} ${res.statusMessage}`;