|
@@ -4,32 +4,50 @@
|
|
* @homepage: https://oldj.net
|
|
* @homepage: https://oldj.net
|
|
*/
|
|
*/
|
|
|
|
|
|
-import express from 'express'
|
|
|
|
import { http_api_port } from '@root/common/constants'
|
|
import { http_api_port } from '@root/common/constants'
|
|
|
|
+import express from 'express'
|
|
|
|
+import { Server } from 'http'
|
|
import api_router from './api/index'
|
|
import api_router from './api/index'
|
|
|
|
|
|
-export const server = express()
|
|
|
|
|
|
+const app = express()
|
|
|
|
|
|
-server.use((req, res, next) => {
|
|
|
|
|
|
+app.use((req, res, next) => {
|
|
console.log(`> "${(new Date()).toString()}"`, req.method, req.originalUrl, `"${req.headers['user-agent']}"`)
|
|
console.log(`> "${(new Date()).toString()}"`, req.method, req.originalUrl, `"${req.headers['user-agent']}"`)
|
|
next()
|
|
next()
|
|
})
|
|
})
|
|
|
|
|
|
-server.get('/', (req, res) => {
|
|
|
|
|
|
+app.get('/', (req, res) => {
|
|
res.send('Hello SwitchHosts!')
|
|
res.send('Hello SwitchHosts!')
|
|
})
|
|
})
|
|
|
|
|
|
-server.get('/remote-test', (req, res) => {
|
|
|
|
|
|
+app.get('/remote-test', (req, res) => {
|
|
res.send(`# remote-test\n# ${(new Date()).toString()}`)
|
|
res.send(`# remote-test\n# ${(new Date()).toString()}`)
|
|
})
|
|
})
|
|
|
|
|
|
-server.use('/api', api_router)
|
|
|
|
|
|
+app.use('/api', api_router)
|
|
|
|
+
|
|
|
|
+let server: Server
|
|
|
|
+
|
|
|
|
+export const start = (): boolean => {
|
|
|
|
+ try {
|
|
|
|
+ server = app.listen(http_api_port, '127.0.0.1', function () {
|
|
|
|
+ console.log(`SwitchHosts HTTP server is listening on port ${http_api_port}!`)
|
|
|
|
+ console.log(`-> http://127.0.0.1:${http_api_port}`)
|
|
|
|
+ })
|
|
|
|
+ } catch (e) {
|
|
|
|
+ console.error(e)
|
|
|
|
+ return false
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return true
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+export const stop = () => {
|
|
|
|
+ if (!server) return
|
|
|
|
|
|
-try {
|
|
|
|
- server.listen(http_api_port, '127.0.0.1', function () {
|
|
|
|
- console.log(`SwitchHosts HTTP server is listening on port ${http_api_port}!`)
|
|
|
|
- console.log(`-> http://127.0.0.1:${http_api_port}`)
|
|
|
|
- })
|
|
|
|
-} catch (e) {
|
|
|
|
- console.error(e)
|
|
|
|
|
|
+ try {
|
|
|
|
+ server.close()
|
|
|
|
+ } catch (e) {
|
|
|
|
+ console.error(e)
|
|
|
|
+ }
|
|
}
|
|
}
|