summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/ap
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2019-02-22 11:46:58 +0900
committerGitHub <noreply@github.com>2019-02-22 11:46:58 +0900
commit2756f553c68082342a784ef716c62da6cea6f3ca (patch)
tree1e0364ca9ddc1fd88e311f0687746f44e007effd /src/server/api/endpoints/ap
parentUpdate CHANGELOG.md (diff)
downloadsharkey-2756f553c68082342a784ef716c62da6cea6f3ca.tar.gz
sharkey-2756f553c68082342a784ef716c62da6cea6f3ca.tar.bz2
sharkey-2756f553c68082342a784ef716c62da6cea6f3ca.zip
Improve error handling of API (#4345)
* wip * wip * wip * Update attached_notes.ts * wip * Refactor * wip * wip * wip * wip * wip * wip * wip * wip * Update call.ts * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * :v: * Fix
Diffstat (limited to 'src/server/api/endpoints/ap')
-rw-r--r--src/server/api/endpoints/ap/show.ts22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/server/api/endpoints/ap/show.ts b/src/server/api/endpoints/ap/show.ts
index 3b4021e0a7..8dd9f96f90 100644
--- a/src/server/api/endpoints/ap/show.ts
+++ b/src/server/api/endpoints/ap/show.ts
@@ -7,6 +7,7 @@ import { createPerson } from '../../../../remote/activitypub/models/person';
import Note, { pack as packNote, INote } from '../../../../models/note';
import { createNote } from '../../../../remote/activitypub/models/note';
import Resolver from '../../../../remote/activitypub/resolver';
+import { ApiError } from '../../error';
export const meta = {
desc: {
@@ -23,13 +24,24 @@ export const meta = {
}
},
},
+
+ errors: {
+ noSuchObject: {
+ message: 'No such object.',
+ code: 'NO_SUCH_OBJECT',
+ id: 'dc94d745-1262-4e63-a17d-fecaa57efc82'
+ }
+ }
};
-export default define(meta, (ps) => new Promise((res, rej) => {
- fetchAny(ps.uri)
- .then(object => object != null ? res(object) : rej('object not found'))
- .catch(e => rej(e));
-}));
+export default define(meta, async (ps) => {
+ const object = await fetchAny(ps.uri);
+ if (object) {
+ return object;
+ } else {
+ throw new ApiError(meta.errors.noSuchObject);
+ }
+});
/***
* URIからUserかNoteを解決する