@@ -64,7 +64,21 @@ var getTokenString = function (id, token) {
64
64
* The format of a token is:
65
65
* {tokenId: id, host: erizoController host, signature: signature of the token};
66
66
*/
67
- var generateToken = function ( currentRoom , authData , origin , callback ) {
67
+ var generateToken = function ( currentRoom , authData , origin , callback ) {
68
+ const databaseGenerateToken = function ( token ) {
69
+ return new Promise ( ( resolve , reject ) => {
70
+ dataAccess . token . create ( token , ( id ) => {
71
+ if ( id ) {
72
+ resolve ( id ) ;
73
+ } else {
74
+ reject ( new Error ( 'Failed to get token ID.' ) ) ;
75
+ }
76
+ } ) ;
77
+ } ) . then ( id => {
78
+ return getTokenString ( id , token ) ;
79
+ } ) ;
80
+ } ;
81
+
68
82
var currentService = authData . service ,
69
83
user = authData . user ,
70
84
role = authData . role ,
@@ -121,23 +135,26 @@ var generateToken = function (currentRoom, authData, origin, callback) {
121
135
token . host += ':' + ec . port ;
122
136
}
123
137
124
- // TODO: Schedule QUIC agent and portal parallelly.
125
- requestHandler . scheduleQuicAgent ( token . code , origin , info => {
126
- if ( info !== 'timeout' ) {
127
- let hostname = info . hostname ;
128
- if ( ! hostname ) {
129
- hostname = info . ip ;
138
+ if ( ! global . config . server . enableWebTransport ) {
139
+ databaseGenerateToken ( token ) . then ( tokenS => {
140
+ callback ( tokenS ) ;
141
+ } ) ;
142
+ } else {
143
+ // TODO: Schedule QUIC agent and portal parallelly.
144
+ requestHandler . scheduleQuicAgent ( token . code , origin , info => {
145
+ if ( info !== 'timeout' ) {
146
+ let hostname = info . hostname ;
147
+ if ( ! hostname ) {
148
+ hostname = info . ip ;
149
+ }
150
+ // TODO: Rename "echo".
151
+ token . webTransportUrl = 'quic-transport://' + hostname + ':' + info . port + '/echo' ;
130
152
}
131
- // TODO: Rename "echo".
132
- token . webTransportUrl = 'quic-transport://' + hostname + ':' + info . port + '/echo' ;
133
- }
134
- dataAccess . token . create ( token , function ( id ) {
135
- getTokenString ( id , token )
136
- . then ( ( tokenS ) => {
137
- callback ( tokenS ) ;
138
- } ) ;
153
+ databaseGenerateToken ( token ) . then ( tokenS => {
154
+ callback ( tokenS ) ;
155
+ } ) ;
139
156
} ) ;
140
- } ) ;
157
+ }
141
158
} ) ;
142
159
} ;
143
160
0 commit comments