chore: establish learning module baseline
This commit is contained in:
commit
2d04197f3f
2409 files changed
+533050
No files matched your search
@@ -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}` };
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user