MCPcopy Index your code
hub / github.com/codecombat/codecombat / setupFeaturesMiddleware

Function setupFeaturesMiddleware

server_setup.js:144–171  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

142});
143
144const setupFeaturesMiddleware = app => app.use(function(req, res, next) {
145 // TODO: Share these defaults with run-tests.js
146 let features;
147 req.features = (features = {
148 freeOnly: false
149 });
150
151 if ((req.headers.host === 'brainpop.codecombat.com') || (req.session.featureMode === 'brain-pop')) {
152 features.freeOnly = true;
153 features.campaignSlugs = ['dungeon'];
154 features.playViewsOnly = true;
155 features.noAuth = true;
156 features.brainPop = true;
157 features.noAds = true;
158 }
159
160 if (/(cn\.codecombat\.com|koudashijie|aojiarui)/.test(req.get('host')) || (req.session.featureMode === 'china')) {
161 features.china = true;
162 features.freeOnly = true;
163 features.noAds = true;
164 }
165
166 if (config.chinaInfra) {
167 features.chinaInfra = true;
168 }
169
170 return next();
171});
172
173// When config.TRACE_ROUTES is set, this logs a stack trace every time an endpoint sends a response.
174// It's great for finding where a mystery endpoint is!

Callers 1

server_setup.jsFile · 0.85

Calls 1

getMethod · 0.45

Tested by

no test coverage detected