const app = express(); app.disable("x-powered-by");
[buildRequestHandler]() { const app = express(); app.disable('x-powered-by'); app.use(cors()); app.get(OPENID_CONFIGURATION_PATH, this[openidConfigurationHandler].bind(this)); app.get(JWKS_URI_PATH, this[jwksHandler].bind(this)); app.post(TOKEN_ENDPOINT_PATH, bodyParser.urlencoded({ extended: false }), this[tokenHandler].bind(this)); app.get(AUTHORIZE_PATH, OAuth2Service[authorizeHandler]); app.get(USERINFO_PATH, this[userInfoHandler].bind(this)); app.post(REVOKE_PATH, this[revokeHandler].bind(this)); return app; }
it("should use strict, case-sensitive routing, and a custom URL", (done) => { swagger(spec.files.petStore, (err, middleware) => { let express = helper.express(); express.use(middleware.files(express, { useBasePath: true, apiPath: "/custom/path.json" })); express.enable("strict routing"); express.enable("case sensitive routing"); helper.supertest(express)[method]("/API/Custom/Path.json/") .expect(404) .end((err) => { if (err) { return done(err); } express.disable("strict routing"); express.disable("case sensitive routing"); helper.supertest(express)[method]("/API/Custom/Path.json/") .expect("Content-Type", "application/json; charset=utf-8") .expect(isHead ? undefined : spec.samples.petStore) .end(helper.checkResults(done)); }); }); });
/** * @param {import ("express").Express} app * @param {import ("http").Server | import ("https").Server} server */ const attachGlobalMiddlewares = (app, server) => { app.disable("x-powered-by"); app.use( helmet.frameguard(), helmet.hsts(), helmet.noSniff(), helmet.dnsPrefetchControl(), helmet.ieNoOpen(), helmet.referrerPolicy(), helmet.xssFilter() /* commenting helmet.noCache as it is deprecated, using `nocache` package instead */ // helmet.noCache() ); app.use(noCache()); app.use(cors()); app.use(logger("common")); attachCustomGlobalMiddlewares(app, server); }
this.expressApp.use(require('body-parser').json()); this.expressApp.disable('x-powered-by');
it("should use strict routing if enabled", (done) => { swagger(spec.files.petStore, (err, middleware) => { let express = helper.express(); express.use(middleware.files(express)); express.enable("strict routing"); helper.supertest(express)[method]("/api-docs") .expect(404) .end((err) => { if (err) { return done(err); } express.disable("strict routing"); helper.supertest(express)[method]("/api-docs") .expect("Content-Type", "application/json; charset=utf-8") .expect(isHead ? undefined : spec.samples.petStore) .end(helper.checkResults(done)); }); }); });
server.disable('x-powered-by'); server.use(bodyParser.json());
app.disable('x-powered-by');
app.disable('x-powered-by') app.use(helmet({ noCache: true,
app.disable('etag');
app.disable('x-powered-by');
it("should use strict routing if enabled", (done) => { swagger(spec.files.externalRefs, (err, middleware) => { let express = helper.express(); express.use(middleware.files(express)); express.enable("strict routing"); helper.supertest(express)[method]("/api-docs/external-refs.yaml/") .expect(404) .end((err) => { if (err) { return done(err); } express.disable("strict routing"); helper.supertest(express)[method]("/api-docs/external-refs.yaml/") .expect("Content-Type", "text/yaml; charset=UTF-8") .expect(200) .expect(equalsFile(spec.files.externalRefs)) .end(helper.checkResults(done)); }); }); });
it("should use strict, case-sensitive routing, and a custom URL", (done) => { swagger(spec.files.externalRefs, (err, middleware) => { let express = helper.express(); express.use(middleware.files(express, { useBasePath: true, rawFilesPath: "/custom/path.json" })); express.enable("strict routing"); express.enable("case sensitive routing"); helper.supertest(express)[method]("/Api/V2/Custom/Path.json/Dir/SubDir/Text.TXT/") .expect(404) .end((err) => { if (err) { return done(err); } express.disable("strict routing"); express.disable("case sensitive routing"); helper.supertest(express)[method]("/Api/V2/Custom/Path.json/Dir/SubDir/Text.TXT/") .expect("Content-Type", "text/plain; charset=UTF-8") .expect(200) .expect(equalsFile(spec.files.text)) .end(helper.checkResults(done)); }); }); });
it("should use case-sensitive routing if enabled", (done) => { swagger(spec.files.petStore, (err, middleware) => { let express = helper.express(); express.use(middleware.files(express)); express.enable("case sensitive routing"); helper.supertest(express)[method]("/API-docs") .expect(404) .end((err) => { if (err) { return done(err); } express.disable("case sensitive routing"); helper.supertest(express)[method]("/API-docs") .expect("Content-Type", "application/json; charset=utf-8") .expect(isHead ? undefined : spec.samples.petStore) .end(helper.checkResults(done)); }); }); });
it("should use case-sensitive routing if enabled", (done) => { swagger(spec.files.externalRefs, (err, middleware) => { let express = helper.express(); express.use(middleware.files(express)); express.enable("case sensitive routing"); helper.supertest(express)[method]("/API-Docs/External-REFs.yaml") .expect(404) .end((err) => { if (err) { return done(err); } express.disable("case sensitive routing"); helper.supertest(express)[method]("/API-Docs/External-REFs.yaml") .expect("Content-Type", "text/yaml; charset=UTF-8") .expect(200) .expect(equalsFile(spec.files.externalRefs)) .end(helper.checkResults(done)); }); }); });