Skip to content

Commit a43392c

Browse files
authored
Merge pull request #18875 from mozilla/FXA-11692
bug(content): Pre-connects weren't getting replaced in 'static' html
2 parents 21b6d03 + 9768a51 commit a43392c

1 file changed

Lines changed: 20 additions & 12 deletions

File tree

packages/fxa-content-server/server/lib/beta-settings.js

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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
146164
function 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

Comments
 (0)