refactor(webfinger): put failure conditions first

This commit is contained in:
Harsh Shandilya 2022-11-16 14:02:29 +05:30
parent cd288072e8
commit addedd5dc5

View File

@ -2,6 +2,7 @@ import { Status } from "https://deno.land/std@0.136.0/http/http_status.ts";
import type { Context } from "https://edge.netlify.com";
export default async (request: Request, context: Context) => {
const re = /acct:(.*)@msfjarvis.dev/;
const url = new URL(request.url);
const resourceParam = url.searchParams.get("resource");
if (resourceParam === null) {
@ -13,9 +14,16 @@ export default async (request: Request, context: Context) => {
status: Status.BadRequest,
}
);
} else if (resourceParam.match(re) === null) {
return context.json(
{
error: "This domain only works for @msfjarvis.dev requests",
},
{
status: Status.BadRequest,
}
);
} else {
const re = /acct:(.*)@msfjarvis.dev/;
if (resourceParam.match(re) !== null) {
return context.json({
subject: "acct:msfjarvis@androiddev.social",
aliases: [
@ -35,20 +43,9 @@ export default async (request: Request, context: Context) => {
},
{
rel: "http://ostatus.org/schema/1.0/subscribe",
template:
"https://androiddev.social/authorize_interaction?uri={uri}",
template: "https://androiddev.social/authorize_interaction?uri={uri}",
},
],
});
} else {
return context.json(
{
error: "This domain only works for @msfjarvis.dev requests",
},
{
status: Status.BadRequest,
}
);
}
}
};