From b18df999cdc1204a7c861a0d039d27ed73bb71d6 Mon Sep 17 00:00:00 2001 From: CyberRex Date: Mon, 13 Mar 2023 09:46:53 +0900 Subject: [PATCH] =?UTF-8?q?enhance(backend):=20=E9=85=8D=E9=80=81=E5=85=88?= =?UTF-8?q?=E3=81=8C410=20Gone=E3=81=A7=E5=BF=9C=E7=AD=94=E3=81=97?= =?UTF-8?q?=E3=81=A6=E3=81=8D=E3=81=9F=E5=A0=B4=E5=90=88=E9=85=8D=E9=80=81?= =?UTF-8?q?=E5=81=9C=E6=AD=A2=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= =?UTF-8?q?=20(#10298)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * enhance(backend): 配送先が410 Goneで応答してきた場合配送停止するように * Update CHANGELOG.md --- CHANGELOG.md | 1 + .../src/queue/processors/DeliverProcessorService.ts | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 13e07ee53..987328a97 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ You should also include the user name that made the change. - アクティブユーザー数チャートの記録上限値を拡張 - Playのソースコード上限文字数を2倍に拡張 - 付箋ウィジェットの高さを設定可能に +- 配送先サーバーが410 Goneで応答してきた場合は自動で配送停止をするように ### Bugfixes - プロフィールで設定した情報が削除できない問題を修正 diff --git a/packages/backend/src/queue/processors/DeliverProcessorService.ts b/packages/backend/src/queue/processors/DeliverProcessorService.ts index 2a053a12e..065501fe2 100644 --- a/packages/backend/src/queue/processors/DeliverProcessorService.ts +++ b/packages/backend/src/queue/processors/DeliverProcessorService.ts @@ -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}`;