schangxiang@126.com
2025-09-19 0821aa23eabe557c0d9ef5dbe6989c68be35d1fe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
'use strict';
 
const http = require('http');
const SERVER = Symbol('http_server');
 
module.exports = app => {
  let server = app[SERVER] || app.callback();
  if (typeof server === 'function') {
    server = http.createServer(server);
    // cache server, avoid create many times
    app[SERVER] = server;
    // emit server event just like egg-cluster does
    // https://github.com/eggjs/egg-cluster/blob/master/lib/app_worker.js#L52
    app.emit('server', server);
  }
  return server;
};