1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wuxue107-screenshot-api-server

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
app.js 2.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
nop Отправлено 11.11.2024 13:35 7c952c3
var express = require('express');
var path = require('path');
//var cookieParser = require('cookie-parser');
var logger = require('morgan');
var apiRoute = require('./routes/api');
var downloadRoute = require('./routes/download');
var app = express();
app.set('views', path.join(__dirname, 'views'));
app.engine('art', require('express-art-template'));
app.use(logger('dev'));
app.use(express.json({limit: '50mb'}));
app.use(express.urlencoded({ extended: false,limit: '50mb' }));
//app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/static',express.static(path.join(__dirname,'static')));
var packageConfig = require('./package.json');
app.all('*', (req, res, next) => {
Object.defineProperty(req, 'origin', {
get: function () {
var origin = req.headers.origin;
if (origin) {
return origin
}
if(req.headers.referer){
let matches = req.headers.referer.match("^\\w+:\\/\\/[^\\/\\?\\#]+");
if(matches){
return matches[0];
}
}
if(req.headers.host){
return req.protocol + '://' + req.headers.host;
}else{
let matches = req.url.match("^\\w+:\\/\\/[^\\/\\?\\#]+");
if(matches){
return matches[0];
}
return undefined;
}
}
});
res.setHeader('X-Powered-By', 'screen-api-server');
res.setHeader("Server-Version",packageConfig.version);
res.setHeader("Access-Control-Allow-Origin", req.origin);
res.setHeader("Access-Control-Allow-Headers", "*");
res.setHeader("Access-Control-Max-Age", "86400");
//res.setHeader("Access-Control-Allow-Credentials", "false");
res.setHeader("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
if (req.method.toLowerCase() === 'options') {
res.sendStatus(200); // 让options尝试请求快速结束
} else {
next();
}
});
app.use('/spider', function (req,res){
res.sendStatus(401);
});
app.use('/api', apiRoute);
app.use('/download',downloadRoute);
module.exports = app;

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/wuxue107-screenshot-api-server.git
git@api.gitlife.ru:oschina-mirror/wuxue107-screenshot-api-server.git
oschina-mirror
wuxue107-screenshot-api-server
wuxue107-screenshot-api-server
master