chore: establish learning module baseline

This commit is contained in:
inman committed 2026-08-16 14:58:47 +08:00
commit 2d04197f3f
2409 files changed
+533050

No files matched your search

+34
View File
@@ -0,0 +1,34 @@
type ConnectivityResult = {
success: boolean;
message: string;
};
interface ProbeAuthOptions {
providerName: string;
request: () => Promise<Response>;
}
export async function probeAuth({
providerName,
request,
}: ProbeAuthOptions): Promise<ConnectivityResult> {
try {
const response = await request();
if (response.status >= 300 && response.status < 400) {
return {
success: false,
message: `${providerName} connectivity error: Redirects are not allowed`,
};
}
if (response.status === 401 || response.status === 403) {
const text = await response.text();
return {
success: false,
message: `${providerName} auth failed (${response.status}): ${text}`,
};
}
return { success: true, message: `Connected to ${providerName}` };
} catch (err) {
return { success: false, message: `${providerName} connectivity error: ${err}` };
}
}