diff options
Diffstat (limited to 'sdnr/wt/odlux/framework/src/services/restService.ts')
-rw-r--r-- | sdnr/wt/odlux/framework/src/services/restService.ts | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/sdnr/wt/odlux/framework/src/services/restService.ts b/sdnr/wt/odlux/framework/src/services/restService.ts index b21e3ec75..d727e4c9e 100644 --- a/sdnr/wt/odlux/framework/src/services/restService.ts +++ b/sdnr/wt/odlux/framework/src/services/restService.ts @@ -19,6 +19,7 @@ import { ApplicationStore } from "../store/applicationStore"; import { ReplaceAction } from "../actions/navigationActions"; +import { AddErrorInfoAction } from "../actions/errorActions"; const baseUri = `${ window.location.origin }`; const absUrlPattern = /^https?:\/\//; @@ -118,12 +119,22 @@ export async function requestRestExt<TData>(path: string = '', init: RequestInit //'Authorization': 'Basic YWRtaW46YWRtaW4=' }); } + const fetchResult = await fetch(uri, init); - if (fetchResult.status === 401 || fetchResult.status === 403) { - applicationStore && applicationStore.dispatch(new ReplaceAction(`/login?returnTo=${applicationStore.state.framework.navigationState.pathname}`)); + + if(fetchResult.status === 403){ + applicationStore && applicationStore.dispatch(new AddErrorInfoAction({title: "Forbidden", message:"Status: [403], access denied."})); return { ...result, status: 403, + message: "Forbidden." + }; + } + else if (fetchResult.status === 401) { + applicationStore && applicationStore.dispatch(new ReplaceAction(`/login?returnTo=${applicationStore.state.framework.navigationState.pathname}`)); + return { + ...result, + status: 401, message: "Authentication requested by server." }; } |