@@ -142,6 +142,24 @@ function preconnect(val) {
142142 return `<link rel="preconnect" href="${ val } ">` ;
143143}
144144
145+ function resolvePreConnectDirectives ( settingsConfig ) {
146+ // Using '?' will breaks l10n extraction :9
147+ let gqlUrl , authUrl , oauthUrl , sentryUrl ;
148+ try { gqlUrl = settingsConfig . servers . gql . url ; } catch ( e ) { }
149+ try { authUrl = settingsConfig . servers . auth . url ; } catch ( e ) { }
150+ try { oauthUrl = settingsConfig . servers . oauth . url ; } catch ( e ) { }
151+ try { sentryUrl = settingsConfig . sentry . dsn . replace ( / \/ \d * $ / , '' ) ; } catch ( e ) { }
152+
153+ return {
154+ __GQL_URL_PRECONNECT__ : preconnect ( gqlUrl ) ,
155+ __AUTH_URL_PRECONNECT__ : preconnect ( authUrl ) ,
156+ __OAUTH_URL_PRECONNECT__ : preconnect ( oauthUrl ) ,
157+ __SENTRY_URL_PRECONNECT__ : preconnect ( sentryUrl ) ,
158+ }
159+ }
160+
161+
162+
145163// Conditionally modify the response
146164function modifyProxyRes ( proxyRes , req , res ) {
147165 const bodyChunks = [ ] ;
@@ -166,22 +184,11 @@ function modifyProxyRes(proxyRes, req, res) {
166184 ) {
167185 let html = body . toString ( ) ;
168186 const flowEventData = flowMetrics . create ( FLOW_ID_KEY ) ;
169-
170- // Using '?' will breaks l10n extraction :9
171- let gqlUrl , authUrl , oauthUrl , sentryUrl ;
172- try { gqlUrl = settingsConfig . servers . gql . url ; } catch ( e ) { }
173- try { authUrl = settingsConfig . servers . auth . url ; } catch ( e ) { }
174- try { oauthUrl = settingsConfig . servers . oauth . url ; } catch ( e ) { }
175- try { sentryUrl = settingsConfig . sentry . dsn . replace ( / \/ \d * $ / , '' ) ; } catch ( e ) { }
176-
177187 html = swapBetaMeta ( html , {
178188 __SERVER_CONFIG__ : settingsConfig ,
179189 __FLOW_ID__ : flowEventData . flowId ,
180190 __FLOW_BEGIN_TIME__ : flowEventData . flowBeginTime ,
181- __GQL_URL_PRECONNECT__ : preconnect ( gqlUrl ) ,
182- __AUTH_URL_PRECONNECT__ : preconnect ( authUrl ) ,
183- __OAUTH_URL_PRECONNECT__ : preconnect ( oauthUrl ) ,
184- __SENTRY_URL_PRECONNECT__ : preconnect ( sentryUrl ) ,
191+ ...resolvePreConnectDirectives ( settingsConfig )
185192 } ) ;
186193 res . send ( new Buffer . from ( html ) ) ;
187194 } else {
@@ -217,6 +224,7 @@ const modifySettingsStatic = function (req, res) {
217224 __SERVER_CONFIG__ : settingsConfig ,
218225 __FLOW_ID__ : flowEventData . flowId ,
219226 __FLOW_BEGIN_TIME__ : flowEventData . flowBeginTime ,
227+ ...resolvePreConnectDirectives ( settingsConfig )
220228 } )
221229 ) ;
222230} ;
0 commit comments