packages/fxa-content-server/server/lib/routes.js (63 lines of code) (raw):

/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 'use strict'; const { getServerReactRouteGroups, } = require('./routes/react-app/route-groups-server'); module.exports = function (config, i18n, statsd, glean) { const redirectVersionedToUnversioned = require('./routes/redirect-versioned-to-unversioned'); const reactRouteGroups = getServerReactRouteGroups( config.get('showReactApp'), i18n, config ); const routes = [ redirectVersionedToUnversioned('complete_reset_password'), redirectVersionedToUnversioned('reset_password'), redirectVersionedToUnversioned('verify_email'), require('./routes/get-apple-app-site-association')(), require('./routes/get-frontend-pairing').default(reactRouteGroups), require('./routes/get-frontend').default(reactRouteGroups), require('./routes/get-oauth-success').default(reactRouteGroups), require('./routes/get-terms-privacy').default(reactRouteGroups, i18n), require('./routes/get-update-firefox')(config), require('./routes/get-index').default(reactRouteGroups, config), require('./routes/get-ver.json'), require('./routes/get-client.json')(i18n), require('./routes/get-config')(i18n), require('./routes/get-fxa-client-configuration')(config), require('./routes/get-lbheartbeat')(), require('./routes/get-openid-configuration')(config), require('./routes/get-version.json'), require('./routes/get-metrics-flow')(config, glean), require('./routes/get-well-known-change-password')(), require('./routes/post-metrics')(statsd), require('./routes/redirect-download-firefox')(config), require('./routes/post-third-party-auth-redirect')(config), require('./routes/get-500')(config), require('./routes/validate-email-domain')(config), require('./routes/post-nimbus-experiments')(config, statsd), ].filter((routeDefinition) => routeDefinition); // get rid of null values if (config.get('csp.enabled')) { routes.push( require('./routes/post-csp')({ op: 'server.csp', path: config.get('csp.reportUri'), }) ); } if (config.get('csp.reportOnlyEnabled')) { routes.push( require('./routes/post-csp')({ op: 'server.csp.report-only', path: config.get('csp.reportOnlyUri'), }) ); } if (config.get('env') === 'development') { routes.push(require('./routes/get-502')(config)); routes.push(require('./routes/get-503')(config)); // Add a route in dev mode to test 500 errors routes.push(require('./routes/get-boom')()); // front end mocha tests routes.push(require('./routes/get-test-index')(config)); routes.push(require('./routes/get-test-style-guide')(config)); } return routes; };