forked from shadowfacts/shadowfacts.net
Fix returning strings instead of JSON objects as actors on bad responses
This commit is contained in:
parent
10a90ea48f
commit
1ceaa15507
|
@ -57,8 +57,6 @@ export async function getCachedActor(url: string): Promise<ActorObject | null> {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function cacheActor(actorObject: ActorObject) {
|
async function cacheActor(actorObject: ActorObject) {
|
||||||
if (!actorObject.publicKey) return;
|
|
||||||
|
|
||||||
function getIconUrl(icon: string | object): string {
|
function getIconUrl(icon: string | object): string {
|
||||||
return icon instanceof String ? icon : (icon as any).url;
|
return icon instanceof String ? icon : (icon as any).url;
|
||||||
}
|
}
|
||||||
|
@ -88,7 +86,7 @@ async function fetchActor(url?: string): Promise<ActorObject | null> {
|
||||||
json: true
|
json: true
|
||||||
}, (err, res) => {
|
}, (err, res) => {
|
||||||
if (err) reject(err);
|
if (err) reject(err);
|
||||||
else resolve(res.body ? res.body as ActorObject : null);
|
else resolve(res.body && res.body instanceof Object ? res.body as ActorObject : null);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,9 +25,6 @@ export = async (req: Request, res: Response, next: NextFunction) => {
|
||||||
console.log(`Could not retrieve actor ${req.body.actor} to validate HTTP signature for`, req.body);
|
console.log(`Could not retrieve actor ${req.body.actor} to validate HTTP signature for`, req.body);
|
||||||
res.status(401).end("Could not retrieve actor to validate HTTP signature");
|
res.status(401).end("Could not retrieve actor to validate HTTP signature");
|
||||||
}
|
}
|
||||||
} else if (!actor.publicKey) {
|
|
||||||
console.log(`Could not validate HTTP signature, actor missing public key: ${actor}`);
|
|
||||||
res.status(401).end("Actor missing public key.")
|
|
||||||
} else if (!validate(req, actor.publicKey.publicKeyPem)) {
|
} else if (!validate(req, actor.publicKey.publicKeyPem)) {
|
||||||
console.log(`Could not validate HTTP signature for ${req.body.actor}`);
|
console.log(`Could not validate HTTP signature for ${req.body.actor}`);
|
||||||
res.status(401).end("Could not validate HTTP signature");
|
res.status(401).end("Could not validate HTTP signature");
|
||||||
|
|
Loading…
Reference in New Issue