@@ -3,9 +3,14 @@ import { Uri } from 'vscode';
33import { extensionId , ServerSpec } from '../extension' ;
44import { makeRESTRequest } from '../makeRESTRequest' ;
55
6- const allTokens = new Map < string , string > ( ) ;
6+ export enum BrowserTarget {
7+ SIMPLE = 0 ,
8+ EXTERNAL = 1
9+ }
10+
11+ const allTokens = [ new Map < string , string > ( ) , new Map < string , string > ( ) ] ;
712
8- export async function getPortalUriWithToken ( name : string , scope ?: vscode . ConfigurationScope ) : Promise < Uri | undefined > {
13+ export async function getPortalUriWithToken ( target : BrowserTarget , name : string , scope ?: vscode . ConfigurationScope ) : Promise < Uri | undefined > {
914
1015 const PORTAL_HOME = '/csp/sys/UtilHome.csp' ;
1116
@@ -16,19 +21,19 @@ export async function getPortalUriWithToken(name: string, scope?: vscode.Configu
1621 if ( typeof spec !== 'undefined' ) {
1722
1823 // Retrieve previously cached token
19- let token = allTokens . get ( name ) || '' ;
24+ let token = allTokens [ target ] . get ( name ) || '' ;
2025
2126 // Revalidate and extend existing token, or obtain a new one
2227 const response = await makeRESTRequest ( "POST" , spec , { apiVersion : 1 , namespace : '%SYS' , path :'/action/query' } , { query : 'select %Atelier_v1_Utils.General_GetCSPToken(?, ?) token' , parameters : [ PORTAL_HOME , token ] } ) ;
2328
2429 if ( ! response ) {
2530 // User will have to enter credentials
2631 token = '' ;
27- allTokens . delete ( name ) ;
32+ allTokens [ target ] . delete ( name ) ;
2833 }
2934 else {
3035 token = response . data ?. result ?. content [ 0 ] ?. token || '' ;
31- allTokens . set ( name , token ) ;
36+ allTokens [ target ] . set ( name , token ) ;
3237 }
3338
3439 const webServer = spec . webServer ;
0 commit comments