diff options
Diffstat (limited to 'src/queue/processors')
| -rw-r--r-- | src/queue/processors/deliver.ts | 7 | ||||
| -rw-r--r-- | src/queue/processors/inbox.ts | 3 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/queue/processors/deliver.ts b/src/queue/processors/deliver.ts index 373e57cbd5..3c61896a2f 100644 --- a/src/queue/processors/deliver.ts +++ b/src/queue/processors/deliver.ts @@ -11,6 +11,7 @@ import { toPuny } from '@/misc/convert-host'; import { Cache } from '@/misc/cache'; import { Instance } from '@/models/entities/instance'; import { DeliverJobData } from '../types'; +import { StatusError } from '@/misc/fetch'; const logger = new Logger('deliver'); @@ -68,16 +69,16 @@ export default async (job: Bull.Job<DeliverJobData>) => { registerOrFetchInstanceDoc(host).then(i => { Instances.update(i.id, { latestRequestSentAt: new Date(), - latestStatus: res != null && res.hasOwnProperty('statusCode') ? res.statusCode : null, + latestStatus: res instanceof StatusError ? res.statusCode : null, isNotResponding: true }); instanceChart.requestSent(i.host, false); }); - if (res != null && res.hasOwnProperty('statusCode')) { + if (res instanceof StatusError) { // 4xx - if (res.statusCode >= 400 && res.statusCode < 500) { + if (res.isClientError) { // HTTPステータスコード4xxはクライアントエラーであり、それはつまり // 何回再送しても成功することはないということなのでエラーにはしないでおく return `${res.statusCode} ${res.statusMessage}`; diff --git a/src/queue/processors/inbox.ts b/src/queue/processors/inbox.ts index e2c271cdf8..4032ce8653 100644 --- a/src/queue/processors/inbox.ts +++ b/src/queue/processors/inbox.ts @@ -14,6 +14,7 @@ import { InboxJobData } from '../types'; import DbResolver from '@/remote/activitypub/db-resolver'; import { resolvePerson } from '@/remote/activitypub/models/person'; import { LdSignature } from '@/remote/activitypub/misc/ld-signature'; +import { StatusError } from '@/misc/fetch'; const logger = new Logger('inbox'); @@ -53,7 +54,7 @@ export default async (job: Bull.Job<InboxJobData>): Promise<string> => { authUser = await dbResolver.getAuthUserFromApId(getApId(activity.actor)); } catch (e) { // 対象が4xxならスキップ - if (e.statusCode >= 400 && e.statusCode < 500) { + if (e instanceof StatusError && e.isClientError) { return `skip: Ignored deleted actors on both ends ${activity.actor} - ${e.statusCode}`; } throw `Error in actor ${activity.actor} - ${e.statusCode || e}`; |