代码拉取完成,页面将自动刷新
const http = require('http')
const url = require('url')
const pry = require('pryjs')
const { version } = require('./package.json')
const logger = require('./src/Logger')
const config = require('./src/Config')
const HandlerResolver = require('./src/HandlerResolver')
const RequestHandler = require('./src/RequestHandler')
const codeMappings = require('./src/CodeMappings')
const handlerResolver = new HandlerResolver()
const requestHandler = new RequestHandler(handlerResolver)
function parseRequest (request, callback) {
let { pathname, query } = url.parse(request.url, true)
logger.info('Receive request', pathname, query)
if (pathname === '/') {
callback({ path: '/'})
return
}
let data = ''
request.on('data', function (chunk) {
data += chunk
})
request.on('end', function () {
logger.verbose('Receive headers', request.headers)
logger.verbose('Receive data', data)
callback({ path: pathname, query, data, headers: request.headers, request })
})
}
function sendResponse (response, body) {
let status = 200
if (body.code) {
logger.info('send code', body.code)
status = codeMappings[body.code] || 500
}
logger.verbose('send data', body)
response.writeHead(status, { 'Content-Type': 'application/json;charset=utf-8' })
response.end(JSON.stringify(body, null, 2))
}
http.createServer(function (request, response) {
parseRequest(request, function (params) {
if (params.path === '/') {
sendResponse(response, {
title: '欢迎使用git-hook小工具',
version: version
})
} else {
const body = requestHandler.handle(params)
sendResponse(response, body)
}
})
}).listen(config.port, err => {
if (err) {
console.log(`Something bad happened: ${err}.`)
} else {
console.log(`Server is listening on ${config.port}.`)
}
})
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。