module.exports = function start(config) { Object.assign = copyObj(); // allow multiple bird instances if (config && Array.isArray(config)) { for (var i = 0; i < config.length; i++) { start(config[i]) } return; } var jar = request.jar(); // jar to store cookies config = configResolver(config, jar); // check if config ok if (!config.ifOk) { console.info('check your configuration, pls') return; } // silence when not debugging if (!config.debug) { global.console.log = function (){}; } if (config.middleware) { if (config.ifAuth) { auth(config, jar); } // http://stackoverflow.com/questions/20274483/how-do-i-combine-connect-middleware-into-one-middleware return listAll([ require('./lib/mock')(config), require('./lib/change-user')(config), require('./lib/proxy')(config) ]); } else { if (config.ifAuth) { config.auth(config, jar).then(function () { // setup bird app var app = new express() app.all('*', require('./lib/mock')(config)) app.all('*', require('./lib/static')(config)) app.all('*', require('./lib/change-user')(config)) if (config.ifProxy) { app.all('*', require('./lib/proxy')(config)) } // go! app.listen(config.birdPort) console.info('BIRD'.rainbow, '============', config.name || '', 'RUNNING at', 'http://localhost:' + config.birdPort, '===============', 'BIRD'.rainbow); }) } else { var app = new express() app.all('*', require('./lib/mock')(config)) app.all('*', require('./lib/static')(config)) if (config.ifProxy) { app.all('*', require('./lib/proxy')(config)) } app.listen(config.birdPort) console.info('BIRD'.rainbow, '============', config.name || '', 'RUNNING at', 'http://localhost:' + config.birdPort, '===============', 'BIRD'.rainbow); } } }
config.auth(config, jar).then(function () { // setup bird app var app = new express() app.all('*', require('./lib/mock')(config)) app.all('*', require('./lib/static')(config)) app.all('*', require('./lib/change-user')(config)) if (config.ifProxy) { app.all('*', require('./lib/proxy')(config)) } // go! app.listen(config.birdPort) console.info('BIRD'.rainbow, '============', config.name || '', 'RUNNING at', 'http://localhost:' + config.birdPort, '===============', 'BIRD'.rainbow); })
const createServer = ({graphqlSchema, pgConfig, route = '/', secret, development = true, log = true, }) => { assert(graphqlSchema instanceof GraphQLSchema, 'Must be an instance of GraphQL schema must be defined') assert(pgConfig, 'A PostgreSQL config must be defined') const server = new Express() if (log) server.use(logger(development ? 'dev' : 'common')) server.use(compress()) server.use(favicon(path.join(__dirname, '../assets/favicon.ico'))) server.use(Express.static(path.join(__dirname, '../public'))) server.use(cors({ origin: ['http://localhost:3000', 'http://192.168.1.201:3000', 'http://pa6.com'], credentials: true })) server.all(route, graphqlHTTP(async req => { // Acquire a new client for every request. const client = await pg.connectAsync(pgConfig) // Start a transaction for our client and set it up. await client.queryAsync('begin') // If we have a secret, let’s setup the request transaction. if (secret) await setupRequestTransaction(req, client, secret) // Make sure we release our client back to the pool once the response has // finished. onFinished(req.res, () => { // Try to end our session with a commit. If it succeeds, release the // client back into the pool. If it fails, release the client back into // the pool, but also report that it failed. We cannot report an error in // the request at this point because it has finished. client.queryAsync('commit') .then(() => client.end()) .catch(error => { console.error(error.stack) // eslint-disable-line no-console client.end() }) }) return { schema: graphqlSchema, context: { client }, pretty: development, graphiql: development, formatError: development ? developmentFormatError : formatError, } })) return http.createServer(server) }
const createServer = ({ graphqlSchema, pgConfig, route = '/', secret, development = true, log = true, }) => { const server = new Express() if (log) server.use(logger(development ? 'dev' : 'common')) server.use(favicon(path.join(__dirname, '../assets/favicon.ico'))) server.all(route, graphqlHTTP(async req => { // Acquire a new client for every request. const client = await pg.connectAsync(pgConfig) // Start a transaction for our client and set it up. await client.queryAsync('begin') // If we have a secret, let’s setup the request transaction. if (secret) await setupRequestTransaction(req, client, secret) // Make sure we release our client back to the pool once the response has // finished. onFinished(req.res, () => { // Try to end our session with a commit. If it succeeds, release the // client back into the pool. If it fails, release the client back into // the pool, but also report that it failed. We cannot report an error in // the request at this point because it has finished. client.queryAsync('commit') .then(() => client.end()) .catch(error => { console.error(error.stack) // eslint-disable-line no-console client.end() }) }) return { // Await the `graphqlSchema` because it may be a promise. schema: await graphqlSchema, context: { client }, pretty: development, graphiql: development, formatError: development ? developmentFormatError : formatError, } })) // If next is not defined, use the `finalHandler`. return (req, res, next) => server(req, res, next || finalHandler(req, res)) }
export default function server(app: express) { app.use("/notify", notifHandler({ handlers: { "ship:update": commandHandler, "segment:update": commandHandler, "segment:delete": commandHandler, "user:update": userHandler } })); app.use("/batch", notifHandler({ handlers: { "user:update": userHandler } })); app.all("/sync", (req, res) => { res.end("ok"); }); app.all("/webhook", webhookHandler); app.get("/admin", adminHandler); app.post("/fetch-all", fetchAllHandler); app.use("/schema/custom_fields", cors(), (req, res) => { res.send({ options: _.get(req, "hull.ship.private_settings.traits_mapping", []).map(name => { return { label: name, value: name }; }) }); }); return app; }
/** * Created by dietn on 18/12/14. */ var express = require('express'); var server = new express(); var settings = require("./settings.json"); var route = require('./Routing/RouteHandler.js'); var db = require('./Data/DataHandler.js'); //serve static files server.use("/Public", express.static(__dirname + '/Public')); db.truncateProcesses(); server.all('*',function(req,res){ route.routeRequest(req,res); }); server.listen(settings.port);
app.get("/client", function (req, res, next) { res.render('client', req.session.accessToken); }); var controller = new ContestsHTTPController(); //route to get contest types that DOES require oauth authentication app.get('/v2/contesttypes', controller.getContestTypes); // for all other routes, require authentication app.all("*", isAuthenticated); //route to get contest types that DOES require oauth authentication app.get('/v2/secure/contesttypes', controller.getContestTypes); // error-handling middleware, take the same form // as regular middleware, however they require an // arity of 4, aka the signature (err, req, res, next). // when connect has an error, it will invoke ONLY error-handling // middleware. app.use(function (err, req, res, next) { res.status(err.status || 500); res.render('error', { status: err.status || 500, error: err
describe("errorHandler", function(){ var err; var app = new express4(); app.use(body_parser.json()); app.all('/error', function(req, res, next){ return next(err); }); app.post('/error/:test', function(req, res, next){ return next(err); }); app.use(errorHandler); var request = new supertest(app); beforeEach(function(){ sandbox.stub(console, 'error', function(message){ }); }); afterEach(function(){ sandbox.restore(); }) it("should handle NotPermittedError", function(done){ err = new errors.NotPermitted("don't do that"); request.get('/error').end(function(err, res){ assert.equal(res.res.statusCode, 403); assert.equal(res.text, "An attempt was made to perform an operation that is not permitted: don't do that"); assert.ok(!console.error.called, "console.error not called"); done(); }); }); it("should handle AuthenticationRequired", function(done){ err = new errors.AuthenticationRequired("gime password"); request.get('/error').end(function(err, res){ assert.equal(res.res.statusCode, 401); assert.equal(res.text, "An attempt was made to perform an operation without authentication: gime password"); assert.ok(!console.error.called, "console.error not called"); done(); }); }); it("should handle Validation", function(done){ err = new errors.Validation("bad") request.get('/error').end(function(err, res){ assert.equal(res.res.statusCode, 400); assert.equal(res.text, "bad"); assert.ok(!console.error.called, "console.error not called"); done(); }); }); it("should handle AlreadyInUse", function(done){ err = new errors.AlreadyInUse("bad", "test"); request.get('/error').end(function(err, res){ assert.equal(res.res.statusCode, 409); assert.equal(res.text, "The specified 'bad' value is already in use for: test"); assert.ok(!console.error.called, "console.error not called"); done(); }); }); it("should handle ArgumentNull", function(done){ err = new errors.ArgumentNull("test"); request.get('/error').end(function(err, res){ assert.equal(res.res.statusCode, 404); assert.equal(res.text, "Not Found: \"test\""); assert.ok(!console.error.called, "console.error not called"); done(); }); }); it("should handle ArgumentNull route param", function(done){ err = new errors.ArgumentNull("test"); request.post('/error/1').end(function(err, res){ assert.equal(res.res.statusCode, 404); assert.equal(res.text, "Not Found: \"test\""); assert.ok(!console.error.called, "console.error not called"); done(); }); }); it("should handle ArgumentNull route param in express3", function(done){ err = new errors.ArgumentNull("test"); var app = express3(); app.use(app.router) app.use(errorHandler); app.post('/error/:test', function(req, res, next){ return next(err); }); var request = new supertest(app); request.post('/error/1').end(function(err, res){ assert.equal(res.res.statusCode, 404); assert.equal(res.text, "Not Found: \"test\""); assert.ok(!console.error.called, "console.error not called"); done(); }); }); it("should handle ArgumentNull POST", function(done){ err = new errors.ArgumentNull("test"); request.post('/error').send({test:1}).end(function(err, res){ assert.equal(res.res.statusCode, 400); assert.equal(res.text, "Not Found: \"test\""); assert.ok(!console.error.called, "console.error not called"); done(); }); }); it("should handle NotFoundError", function(done){ err = new errors.NotFoundError("test"); request.get('/error').end(function(err, res){ assert.equal(res.res.statusCode, 404); assert.equal(res.text, "Not Found: \"test\""); assert.ok(!console.error.called, "console.error not called"); done(); }); }); it("should handle Error", function(done){ err = new Error("test"); request.get('/error').end(function(err, res){ assert.equal(res.res.statusCode, 500); assert.equal(res.text, "Internal Server Error"); assert.ok(console.error.called); assert.ok(/test/.test(console.error.getCall(0).args[0])); done(); }); }); it("should handle Error status", function(done){ err = new Error("test"); err.status = 544; request.get('/error').end(function(err, res){ assert.equal(res.res.statusCode, 544); assert.equal(res.text, "Internal Server Error"); assert.ok(console.error.called); assert.ok(/test/.test(console.error.getCall(0).args[0])); done(); }); }); it("should handle HttpStatusError (deprecated)", function(done){ err = new errors.HttpStatus('custom status message', 544); request.get('/error').end(function(err, res){ assert.equal(res.res.statusCode, 544); assert.equal(res.text, "Internal Server Error"); assert.ok(console.error.called); assert.ok(/custom status message/.test(console.error.getCall(0).args[0])); done(); }); }); it("should handle HttpStatusError", function(done){ err = new errors.HttpStatus(544, 'custom status message') request.get('/error').end(function(err, res){ assert.equal(res.res.statusCode, 544); assert.equal(res.text, "Internal Server Error"); assert.ok(console.error.called); assert.ok(/custom status message/.test(console.error.getCall(0).args[0])); done(); }); }); it("should handle HttpStatusError 400", function(done){ err = new errors.HttpStatus(444, 'custom status message') request.get('/error').end(function(err, res){ assert.equal(res.res.statusCode, 444); assert.equal(res.text, "custom status message"); assert.ok(!console.error.called); done(); }); }); it("should work with express 3", function(done){ var app = express3(); app.use(app.router) app.use(errorHandler); app.get('/error', function(req, res, next){ return next(new Error("This is a test")); }); var request = new supertest(app); request.get('/error') .end(function(err, res){ assert.equal(res.res.statusCode, 500); done(); }) }) });
let express = require('express') let bodyParser = require('body-parser') let dog = require('./dog') require('./db') let app = new express() app.use(bodyParser.json()) app.get('/ping', (req, res) => { res.send('pong') }) app.all('/*', (req, res, next) => { if(req.get('Authorization') == '12345') { next() } else { res.status(401).send('wrong token, dude') } }) app.use('/dogs', dog) let server = app.listen(4000, () => console.log('Express server is listening on ' + server.address().port))
app.get('/',routes.Login); app.get('/Profile',isLoggedIn,routes.profileView); app.get('/loginSuccess',isLoggedIn,routes.loginSuccess); app.post('/Login', passport.authenticate('local-signup', { successRedirect : '/loginSuccess', failureRedirect : '/', failureFlash : true })); app.post('/checkLogin', passport.authenticate('local-login', { successRedirect : '/loginSuccess', failureRedirect : '/', failureFlash : true })); app.get('/Logout',isLoggedIn,routes.logout); app.get('/checkTime',isLoggedIn,routes.checkTime); function isLoggedIn(req, res, next) { if (req.isAuthenticated()) return next(); res.redirect('/'); } app.all('*', function (req, res, next) { if (req.isAuthenticated() || req.path == '/') res.redirect('/Profile'); else res.redirect('/'); }); var server=app.listen(process.env.PORT||1272); customSocket.create(server);
cb(null, { expires:null, userId: JSON.parse(str) }); } }); }; } app.oauth = oauthserver(oauthConfig); app.get("/courses(*)", function(req, res) { res.sendfile("public/index.html"); }); app.all('/oauth/token', app.oauth.grant()); app.use(app.oauth.authorise()); app.use(function(req, res, next) { req.user = req.user.id; next(); }); app.get("/userinfo", function(req, res) { res.json(req.user.toJSON()); }); app.post("/userinfo/changePassword", function(req, res, next) { req.user.comparePassword(req.body.oldPassword, function(err, isMatch) { if(isMatch) { req.user.password = req.body.newPassword;
// Copyright (C) 2016 Goom Inc. All rights reserved. const config = require('./config'); const Express = require('express'); const app = new Express(); const httpProxy = require('http-proxy'); const apiProxy = httpProxy.createProxyServer(); app.all('/api/*', (req, res) => { apiProxy.web(req, res, { target: 'http://localhost:8080' }); }); const cookieParser = require('cookie-parser'); app.use(cookieParser()); const request = require('superagent'); app.use(require('./middleware')({ hot: app.get('env') === 'development', localBundle: app.get('env') === 'production', getAuth: (req, callback) => { request .get('http://localhost:8080/api/v1/login') .set('Cookie', `connect.sid=${req.cookies['connect.sid']}`) .end((err, res) => callback(err, res && res.body)); }, })); app.listen(config.port, (error) => { if (error) {
app.get('/index', function(req, res) { // console.log(req.query); res.send(req.query); }); app.post('/login', function(req, res) { console.log(req.path); req.on('data', function(chunk) { console.log(chunk.toString()); var qsObj = qs.parse(chunk.toString()); res.send(qsObj); }); }); app.all('*', function(req, res) { // console.log(req.path); res.sendFile(__dirname + req.path); }); app.listen(8888,function() { console.log('server success'); });
/** * Created by qianjiahao on 15/4/3. */ var express = require('express'), superagent = require('superagent'), cheerio = require('cheerio'), app = new express(), resource = []; app.all('*', function (req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS"); res.header("X-Powered-By", ' 3.2.1'); res.header("Content-Type", "application/json;charset=utf-8"); next(); }); app.get('/topline', function (req, res) { var url = 'http://www.neusoft.edu.cn/'; superagent.get(url) .end(function (err, data) { if (err) console.log(err); var top = {}; var $ = cheerio.load(data.text); var $element = $('#news .topline'); top.href = encodeURIComponent($element.find('a').attr('href')); top.title = $element.find('a').attr('title');