Слияние кода завершено, страница обновится автоматически
import express from 'express'
import bodyParser from 'body-parser'
import compression from 'compression'
import morgan from 'morgan'
import cors from 'cors'
import http from 'http'
import path from 'path'
import yaml from 'yamljs'
import * as api from './api'
import { accessTokenAuth } from './security'
const app = express()
const port = 9528
const { connector, summarise } = require('swagger-routes-express')
// Compression
app.use(compression())
// Logger
app.use(morgan('dev'))
// Enable CORS
app.use(cors())
// POST, PUT, DELETE body parser
app.use(bodyParser.json({ limit: '20mb' }))
app.use(bodyParser.urlencoded({
limit: '20mb',
extended: false
}))
// No cache
app.use((req, res, next) => {
res.header('Cache-Control', 'private, no-cache, no-store, must-revalidate')
res.header('Pragma', 'no-cache')
res.header('Expires', '-1')
next()
})
// Read and swagger config file
const apiDefinition = yaml.load(path.resolve(__dirname, 'swagger.yml'))
// Create mock functions based on swaggerConfig
const options = {
security: {
AccessTokenAuth: accessTokenAuth
}
}
const connectSwagger = connector(api, apiDefinition, options)
connectSwagger(app)
// Print swagger router api summary
const apiSummary = summarise(apiDefinition)
// Catch 404 error
app.use((req, res, next) => {
const err = new Error('Not Found')
res.status(404).json({
message: err.message,
error: err
})
})
// Create HTTP server.
const server = http.createServer(app)
// Listen on provided port, on all network interfaces.
server.listen(port)
server.on('error', onError)
console.log('Mock server started on port ' + port + '!')
// Event listener for HTTP server "error" event.
function onError(error: any) {
if (error.syscall !== 'listen') {
throw error
}
const bind = typeof port === 'string' ? 'Pipe ' + port : 'Port ' + port
// handle specific listen errors with friendly messages
switch (error.code) {
case 'EACCES':
console.error('Express ERROR (app) : %s requires elevated privileges', bind)
process.exit(1)
case 'EADDRINUSE':
console.error('Express ERROR (app) : %s is already in use', bind)
process.exit(1)
default:
throw error
}
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )