Quellcode durchsuchen

Change to ultimate-express, binds to port only

Mike L vor 1 Woche
Ursprung
Commit
70adfffefe
5 geänderte Dateien mit 22 neuen und 43 gelöschten Zeilen
  1. 1 1
      app.js
  2. 10 31
      bin/www
  3. 4 4
      package.json
  4. 6 6
      routes/apis.js
  5. 1 1
      routes/index.js

+ 1 - 1
app.js

@@ -1,4 +1,4 @@
-var express = require('express');
+var express = require('ultimate-express');
 var path = require('path');
 var favicon = require('serve-favicon');
 var logger = require('morgan');

+ 10 - 31
bin/www

@@ -6,28 +6,23 @@
 
 var app = require('../app');
 var debug = require('debug')('node-api:server');
-var http = require('http');
 
 /**
  * Get port from environment and store in Express.
  */
 
 var port = normalizePort(process.env.PORT || '3000');
-app.set('port', port);
-
-/**
- * Create HTTP server.
- */
-
-var server = http.createServer(app);
 
 /**
  * Listen on provided port, on all network interfaces.
  */
 
-server.listen(port);
-server.on('error', onError);
-server.on('listening', onListening);
+app.listen(port, function(token) {
+  if (!token) {
+    require('net').createServer().once('error', onError);
+  }
+  debug('Listening on port ' + port);
+});
 
 /**
  * Normalize a port into a number, string, or false.
@@ -37,8 +32,8 @@ function normalizePort(val) {
   var port = parseInt(val, 10);
 
   if (isNaN(port)) {
-    // named pipe
-    return val;
+    // named pipe: unsupported now
+    return false;
   }
 
   if (port >= 0) {
@@ -58,33 +53,17 @@ function onError(error) {
     throw error;
   }
 
-  var bind = typeof port === 'string'
-    ? 'Pipe ' + port
-    : 'Port ' + port;
-
   // handle specific listen errors with friendly messages
   switch (error.code) {
     case 'EACCES':
-      console.error(bind + ' requires elevated privileges');
+      console.error('Port ' + port + ' requires elevated privileges');
       process.exit(1);
       break;
     case 'EADDRINUSE':
-      console.error(bind + ' is already in use');
+      console.error('Port ' + port + ' is already in use');
       process.exit(1);
       break;
     default:
       throw error;
   }
 }
-
-/**
- * Event listener for HTTP server "listening" event.
- */
-
-function onListening() {
-  var addr = server.address();
-  var bind = typeof addr === 'string'
-    ? 'pipe ' + addr
-    : 'port ' + addr.port;
-  debug('Listening on ' + bind);
-}

+ 4 - 4
package.json

@@ -1,6 +1,6 @@
 {
   "name": "naiveboom",
-  "version": "2.1.1",
+  "version": "2.1.2",
   "license": "MIT License",
   "private": true,
   "scripts": {
@@ -10,13 +10,13 @@
     "body-parser": "^1.20.5",
     "cookie-parser": "~1.4.3",
     "debug": "~2.6.9",
-    "express": "^4.22.2",
-    "express-rate-limit": "^2.14.2",
+    "express-rate-limit": "^8.5.2",
     "morgan": "^1.11.0",
     "pug": "^3.0.4",
     "random-string-gen": "^1.1.4",
     "redis": "^4.7.1",
     "serve-favicon": "~2.4.5",
-    "util": "^0.10.3"
+    "ultimate-express": "^2.1.1",
+    "util": "^0.12.5"
   }
 }

+ 6 - 6
routes/apis.js

@@ -1,15 +1,15 @@
 var util = require('util');
-var express = require('express');
+var express = require('ultimate-express');
 var router = express.Router();
 var conf = require('../config.js');
 var mtool = new (require('../lib/tools.js'))(conf);// 消息操作工具
-var RateLimit = require('express-rate-limit');
+var rateLimit = require('express-rate-limit').rateLimit;
 
 // 限制生成临时链接API的访问次数
-var apiLimiter = new RateLimit({
-    windowMs: 60 * 60 * 1000, // 1 hour
-    max: conf.rate_limit,    // 频次
-    delayMs: 0,               // disabled 延迟响应
+var apiLimiter = rateLimit({
+  windowMs: 60 * 60 * 1000, // 1 hour
+  limit: conf.rate_limit,   // 频次
+  //delayMs: 0,               // disabled 延迟响应
 });
 
 /* 生成消息的GUID */

+ 1 - 1
routes/index.js

@@ -1,4 +1,4 @@
-var express = require('express');
+var express = require('ultimate-express');
 var path = require('path');
 var router = express.Router();
 var conf = require('../config.js');