refactor(webfinger): put failure conditions first
This commit is contained in:
parent
90587e878f
commit
0aad6fff30
|
@ -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,42 +14,38 @@ 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: [
|
||||
"https://androiddev.social/@msfjarvis",
|
||||
"https://androiddev.social/users/msfjarvis",
|
||||
],
|
||||
links: [
|
||||
{
|
||||
rel: "http://webfinger.net/rel/profile-page",
|
||||
type: "text/html",
|
||||
href: "https://androiddev.social/@msfjarvis",
|
||||
},
|
||||
{
|
||||
rel: "self",
|
||||
type: "application/activity+json",
|
||||
href: "https://androiddev.social/users/msfjarvis",
|
||||
},
|
||||
{
|
||||
rel: "http://ostatus.org/schema/1.0/subscribe",
|
||||
template:
|
||||
"https://androiddev.social/authorize_interaction?uri={uri}",
|
||||
},
|
||||
],
|
||||
});
|
||||
} else {
|
||||
return context.json(
|
||||
return context.json({
|
||||
subject: "acct:msfjarvis@androiddev.social",
|
||||
aliases: [
|
||||
"https://androiddev.social/@msfjarvis",
|
||||
"https://androiddev.social/users/msfjarvis",
|
||||
],
|
||||
links: [
|
||||
{
|
||||
error: "This domain only works for @msfjarvis.dev requests",
|
||||
rel: "http://webfinger.net/rel/profile-page",
|
||||
type: "text/html",
|
||||
href: "https://androiddev.social/@msfjarvis",
|
||||
},
|
||||
{
|
||||
status: Status.BadRequest,
|
||||
}
|
||||
);
|
||||
}
|
||||
rel: "self",
|
||||
type: "application/activity+json",
|
||||
href: "https://androiddev.social/users/msfjarvis",
|
||||
},
|
||||
{
|
||||
rel: "http://ostatus.org/schema/1.0/subscribe",
|
||||
template: "https://androiddev.social/authorize_interaction?uri={uri}",
|
||||
},
|
||||
],
|
||||
});
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue