summaryrefslogtreecommitdiff
path: root/src/processor/http/process-inbox.ts
diff options
context:
space:
mode:
authorAkihiko Odaki <nekomanma@pixiv.co.jp>2018-04-04 22:45:55 +0900
committerAkihiko Odaki <nekomanma@pixiv.co.jp>2018-04-04 22:45:55 +0900
commitd7c13b975f55c85b695b72a3ded3d5de97227414 (patch)
treee197f64e6b977c1f8199b3b2a93815a5529e704d /src/processor/http/process-inbox.ts
parentMake HTTP request first in unfollow job (diff)
downloadsharkey-d7c13b975f55c85b695b72a3ded3d5de97227414.tar.gz
sharkey-d7c13b975f55c85b695b72a3ded3d5de97227414.tar.bz2
sharkey-d7c13b975f55c85b695b72a3ded3d5de97227414.zip
Retry HTTP requests
Diffstat (limited to 'src/processor/http/process-inbox.ts')
-rw-r--r--src/processor/http/process-inbox.ts39
1 files changed, 0 insertions, 39 deletions
diff --git a/src/processor/http/process-inbox.ts b/src/processor/http/process-inbox.ts
deleted file mode 100644
index f102f8d6b4..0000000000
--- a/src/processor/http/process-inbox.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import { verifySignature } from 'http-signature';
-import parseAcct from '../../acct/parse';
-import User, { IRemoteUser } from '../../models/user';
-import act from '../../remote/activitypub/act';
-import resolvePerson from '../../remote/activitypub/resolve-person';
-import Resolver from '../../remote/activitypub/resolver';
-
-export default async ({ data }): Promise<void> => {
- const keyIdLower = data.signature.keyId.toLowerCase();
- let user;
-
- if (keyIdLower.startsWith('acct:')) {
- const { username, host } = parseAcct(keyIdLower.slice('acct:'.length));
- if (host === null) {
- throw 'request was made by local user';
- }
-
- user = await User.findOne({ usernameLower: username, hostLower: host }) as IRemoteUser;
- } else {
- user = await User.findOne({
- host: { $ne: null },
- 'account.publicKey.id': data.signature.keyId
- }) as IRemoteUser;
-
- if (user === null) {
- user = await resolvePerson(data.signature.keyId);
- }
- }
-
- if (user === null) {
- throw 'failed to resolve user';
- }
-
- if (!verifySignature(data.signature, user.account.publicKey.publicKeyPem)) {
- throw 'signature verification failed';
- }
-
- await Promise.all(await act(new Resolver(), user, data.inbox, true));
-};