@@ -5,11 +5,11 @@ import log, { LoggerNames, getLogger } from '../logger';
55const ONE_SECOND_IN_MILLISECONDS = 1000 ;
66const ONE_MINUTE_IN_MILLISECONDS = 60 * ONE_SECOND_IN_MILLISECONDS ;
77
8- /** ConnectionCredentials handles generating credentials for connecting to a new Room */
9- export abstract class ConnectionCredentials {
10- protected cachedResponse : ConnectionCredentials . Response | null = null ;
8+ /** TokenSource handles generating credentials for connecting to a new Room */
9+ export abstract class TokenSource {
10+ protected cachedResponse : TokenSource . Response | null = null ;
1111
12- constructor ( response : ConnectionCredentials . Response | null = null ) {
12+ constructor ( response : TokenSource . Response | null = null ) {
1313 this . cachedResponse = response ;
1414 }
1515
@@ -70,9 +70,9 @@ export abstract class ConnectionCredentials {
7070 return this . getCachedResponseJwtPayload ( ) ?. attributes ?? null ;
7171 }
7272
73- abstract generate ( ) : Promise < ConnectionCredentials . Response > ;
73+ abstract generate ( ) : Promise < TokenSource . Response > ;
7474}
75- export namespace ConnectionCredentials {
75+ export namespace TokenSource {
7676 export type Request = {
7777 /** The name of the room being requested when generating credentials */
7878 roomName ?: string ;
@@ -102,14 +102,14 @@ export namespace ConnectionCredentials {
102102 } ;
103103
104104 /**
105- * ConnectionCredentials .Refreshable handles getting credentials for connecting to a new Room from
105+ * TokenSource .Refreshable handles getting credentials for connecting to a new Room from
106106 * an async source, caching them and auto refreshing them if they expire. */
107- export abstract class Refreshable extends ConnectionCredentials {
108- private request : ConnectionCredentials . Request = { } ;
107+ export abstract class Refreshable extends TokenSource {
108+ private request : TokenSource . Request = { } ;
109109
110- private inProgressFetch : Promise < ConnectionCredentials . Response > | null = null ;
110+ private inProgressFetch : Promise < TokenSource . Response > | null = null ;
111111
112- protected isSameAsCachedRequest ( request : ConnectionCredentials . Request ) {
112+ protected isSameAsCachedRequest ( request : TokenSource . Request ) {
113113 if ( ! this . request ) {
114114 return false ;
115115 }
@@ -140,8 +140,8 @@ export namespace ConnectionCredentials {
140140 /**
141141 * Store request metadata which will be provide explicitly when fetching new credentials.
142142 *
143- * @example new ConnectionCredentials .Custom((request /* <= This value! *\/) => ({ serverUrl: "...", participantToken: "..." })) */
144- setRequest ( request : ConnectionCredentials . Request ) {
143+ * @example new TokenSource .Custom((request /* <= This value! *\/) => ({ serverUrl: "...", participantToken: "..." })) */
144+ setRequest ( request : TokenSource . Request ) {
145145 if ( ! this . isSameAsCachedRequest ( request ) ) {
146146 this . cachedResponse = null ;
147147 }
@@ -176,35 +176,35 @@ export namespace ConnectionCredentials {
176176 }
177177
178178 protected abstract fetch (
179- request : ConnectionCredentials . Request ,
180- ) : Promise < ConnectionCredentials . Response > ;
179+ request : TokenSource . Request ,
180+ ) : Promise < TokenSource . Response > ;
181181 }
182182
183- /** ConnectionCredentials .Literal contains a single, literal set of credentials.
183+ /** TokenSource .Literal contains a single, literal set of credentials.
184184 * Note that refreshing credentials isn't implemented, because there is only one set provided.
185185 * */
186- export class Literal extends ConnectionCredentials {
186+ export class Literal extends TokenSource {
187187 private log = log ;
188188
189189 constructor ( payload : Response ) {
190190 super ( payload ) ;
191- this . log = getLogger ( LoggerNames . ConnectionCredentials ) ;
191+ this . log = getLogger ( LoggerNames . TokenSource ) ;
192192 }
193193
194194 async generate ( ) {
195195 if ( this . isCachedResponseExpired ( ) ) {
196196 this . log . warn (
197- 'The credentials within ConnectionCredentials .Literal have expired, so any upcoming uses of them will likely fail.' ,
197+ 'The credentials within TokenSource .Literal have expired, so any upcoming uses of them will likely fail.' ,
198198 ) ;
199199 }
200200 return this . cachedResponse ! ;
201201 }
202202 }
203203
204- /** ConnectionCredentials .Custom allows a user to define a manual function which generates new
204+ /** TokenSource .Custom allows a user to define a manual function which generates new
205205 * {@link Response} values on demand. Use this to get credentials from custom backends / etc.
206206 * */
207- export class Custom extends ConnectionCredentials . Refreshable {
207+ export class Custom extends TokenSource . Refreshable {
208208 protected fetch : ( request : Request ) => Promise < Response > ;
209209
210210 constructor ( handler : ( request : Request ) => Promise < Response > ) {
@@ -221,14 +221,14 @@ export namespace ConnectionCredentials {
221221 baseUrl ?: string ;
222222 } ;
223223
224- /** ConnectionCredentials .SandboxTokenServer queries a sandbox token server for credentials,
224+ /** TokenSource .SandboxTokenServer queries a sandbox token server for credentials,
225225 * which supports quick prototyping / getting started types of use cases.
226226 *
227227 * This token provider is INSECURE and should NOT be used in production.
228228 *
229229 * For more info:
230230 * @see https://cloud.livekit.io/projects/p_/sandbox/templates/token-server */
231- export class SandboxTokenServer extends ConnectionCredentials . Refreshable {
231+ export class SandboxTokenServer extends TokenSource . Refreshable {
232232 protected options : SandboxTokenServerOptions ;
233233
234234 constructor ( options : SandboxTokenServerOptions ) {
0 commit comments