From d1df43c57a03dba008db4fd44c581d7891aab1d2 Mon Sep 17 00:00:00 2001 From: Janis Hutz Date: Wed, 23 Sep 2026 15:24:27 +0200 Subject: [PATCH] feat: better error handling --- browser/package.json | 2 +- browser/src/auth.ts | 2 +- browser/src/request.ts | 42 +++++++++++++++++++++++++++--------------- 3 files changed, 29 insertions(+), 17 deletions(-) diff --git a/browser/package.json b/browser/package.json index 8b065b1..7ff4c0f 100644 --- a/browser/package.json +++ b/browser/package.json @@ -1,6 +1,6 @@ { "name": "@janishutz/oidc-login-sdk-browser", - "version": "1.3.5", + "version": "1.4.0", "description": "SDK to communicate with and log into a backend running express-openid-connect", "homepage": "https://github.com/janishutz/oidc-login-sdk#readme", "bugs": { diff --git a/browser/src/auth.ts b/browser/src/auth.ts index eb0e6e7..79e4f93 100644 --- a/browser/src/auth.ts +++ b/browser/src/auth.ts @@ -30,7 +30,7 @@ export const check = async (): Promise => { if ( e instanceof AuthError ) { status = false; } else { - throw e; + throw await e; } } diff --git a/browser/src/request.ts b/browser/src/request.ts index df0b6d2..c2dfe24 100644 --- a/browser/src/request.ts +++ b/browser/src/request.ts @@ -17,9 +17,13 @@ export class UnownedError extends Error {} * @returns The reponse */ export const get = async ( url: string, authErrorResolution?: AuthErrorResolution ): Promise => { - return await wrapper( url, { - 'credentials': 'include' - }, authErrorResolution ); + try { + return await wrapper( url, { + 'credentials': 'include' + }, authErrorResolution ); + } catch ( e ) { + throw await e; + } }; /** @@ -31,14 +35,18 @@ export const get = async ( url: string, authErrorResolution?: AuthErrorResolutio * @returns The response */ export const post = async ( url: string, payload: string, mime: string = 'application/json', authErrorResolution?: AuthErrorResolution ): Promise => { - return await wrapper( url, { - 'credentials': 'include', - 'body': payload, - 'method': 'post', - 'headers': { - 'Content-Type': mime ?? 'application/json' - } - }, authErrorResolution ); + try { + return await wrapper( url, { + 'credentials': 'include', + 'body': payload, + 'method': 'post', + 'headers': { + 'Content-Type': mime ?? 'application/json' + } + }, authErrorResolution ); + } catch ( e ) { + throw await e; + } }; /** @@ -48,10 +56,14 @@ export const post = async ( url: string, payload: string, mime: string = 'applic * @returns The response */ export const deleteRequest = async ( url: string, authErrorResolution?: AuthErrorResolution ): Promise => { - return await wrapper( url, { - 'credentials': 'include', - 'method': 'delete' - }, authErrorResolution ); + try { + return await wrapper( url, { + 'credentials': 'include', + 'method': 'delete' + }, authErrorResolution ); + } catch ( e ) { + throw await e; + } }; /**