示例#1
0
db.once('open', function () {
    console.log("Get passport...")
    let passport = require("./passport");
    console.log("Add middleware...");
    let app = express();
    if (process.env.NODE_ENV === 'production') {
        require('express-http2-workaround')({ express: express, http2: http2, app: app });///Fix http2 and express compatibility.
    }
    let st = [__dirname, ...config.staticLocation]
    if (process.env.NODE_ENV === 'production') {
        app.use(express.static(path.join(...st)));
    }
    let sessionOpts = {
        saveUninitialized: true, // saved new sessions
        resave: false, // do not automatically write to the session store
        store: new MongoStore({ mongooseConnection: mongoose.connection }),
        secret: config.db.secret,
        cookie: { httpOnly: true, maxAge: 2419200000 } // configure when sessions expires
    }
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: true }))
    app.use(cookieParser(config.db.secret))
    app.use(flash())//This is how we setup flash fail authentication.
    app.use(session(sessionOpts));
    app.use(passport.initialize());///Attach passport to express middleware.
    app.use(passport.session());
    if (config.jsTogz) {
        app.get('*.js', function (req, res, next) {
            req.url = req.url + '.gz';
            res.set('Content-Encoding', 'gzip');
            next();
        });
    }
    console.log("Add routes...");
    require('./routes/index')(app, passport);
    console.log("");
    let options = {
        key: fs.readFileSync(config.ssl.key),
        cert: fs.readFileSync(config.ssl.cert)
    };
    if (process.env.NODE_ENV === 'production') {
        http2.createServer(options, app).listen(config.port, (error) => {
            if (error) {
                console.error(error)
                return process.exit(1)
            } else {
                console.log('Listening on port: ' + config.port + '.')
            }
        });
    } else {
        http.createServer(app).listen(config.port, (error) => {
            if (error) {
                console.error(error)
                return process.exit(1)
            } else {
                console.log('Listening on port: ' + config.port + '.')
            }
        });
    }
});
示例#2
0
    const options3: ServerStreamFileResponseOptionsWithError = {
        onError: (err: NodeJS.ErrnoException) => {},
        statCheck: (stats: Stats, headers: OutgoingHttpHeaders, statOptions: StatOptions) => {},
        getTrailers: (trailers: OutgoingHttpHeaders) => {},
        offset: 0,
        length: 0
    };
    serverHttp2Stream.respondWithFile('');
    serverHttp2Stream.respondWithFile('', headers);
    serverHttp2Stream.respondWithFile('', headers, options3);
    serverHttp2Stream.respondWithFile('', headers, {statCheck: () => false});
}

// Http2Server / Http2SecureServer
{
    const http2Server: Http2Server = createServer();
    const http2SecureServer: Http2SecureServer = createSecureServer();
    const s1: Server = http2Server;
    const s2: Server = http2SecureServer;
    [http2Server, http2SecureServer].forEach((server) => {
        server.on('sessionError', (err: Error) => {});
        server.on('checkContinue', (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => {});
        server.on('stream', (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => {});
        server.on('request', (request: Http2ServerRequest, response: Http2ServerResponse) => {});
        server.on('timeout', () => {});
    });

    http2SecureServer.on('unknownProtocol', (socket: TLSSocket) => {});
}

// Public API (except constants)
示例#3
0
// Configuration.
let port: Number = 8011;
let host: string = "localhost";
let hostUrl: string = "https://" + host + ":" + port;

let key = fs.readFileSync('./test/http2-certs/localhost.key');
let cert = fs.readFileSync('./test/http2-certs/localhost.crt');

// ----------------------------------------------------------------------------
// Create HTTP/2 server, start listening.
// ----------------------------------------------------------------------------
let server = http2.createServer(
    {
        key: key,
        cert: cert
    },
    (req, res) => {
        log.info("request received.");
        res.end();
    });

server.listen(process.env.HTTP2_PORT || port);


// ----------------------------------------------------------------------------
// Create HTTP/2 client.
// ----------------------------------------------------------------------------
http2.globalAgent = new http2.Agent({
  rejectUnauthorized: false
});