Diff
checker
文本
文本
图像
文档
Excel
文件夹
Legal
Enterprise
桌面版
定价
登录
下载 Diffchecker 桌面版
比较文本
查找两个文本文件之间的差异
工具
历史
实时编辑器
折叠未更改行
关闭换行
视图
拆分
统一
比对精度
智能
单词
字符
语法高亮
选择语法
忽略
文本转换
转到第一个差异
编辑输入
Diffchecker Desktop
运行Diffchecker最安全的方式。获取Diffchecker桌面应用:您的差异永远不会离开您的电脑!
获取桌面版
Untitled diff
创建于
10年前
差异永不过期
清除
导出
分享
解释
6 删除
行
总计
删除
字符
总计
删除
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
83 行
全部复制
113 添加
行
总计
添加
字符
总计
添加
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
191 行
全部复制
复制
已复制
复制
已复制
ORIGINAL
app.js
at KibanaDir/src/app.js
MODIFIED CUSTOM
app.js
var express = require('express');
var express = require('express');
var path = require('path');
var path = require('path');
var favicon = require('serve-favicon');
var favicon = require('serve-favicon');
var requestLogger = require('./lib/requestLogger');
var requestLogger = require('./lib/requestLogger');
var auth = require('./lib/auth');
var auth = require('./lib/auth');
复制
已复制
复制
已复制
var xsrf = require('./lib/xsrf');
var appHeaders = require('./lib/appHeaders');
var appHeaders = require('./lib/appHeaders');
var cookieParser = require('cookie-parser');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var bodyParser = require('body-parser');
var compression = require('compression');
var compression = require('compression');
var config = require('./config');
var config = require('./config');
复制
已复制
复制
已复制
var xsrf = require('./lib/xsrf');
var request = require('request');
var routes = require('./routes/index');
var routes = require('./routes/index');
var proxy = require('./routes/proxy');
var proxy = require('./routes/proxy');
复制
已复制
复制
已复制
var app = express();
var app = express();
复制
已复制
复制
已复制
var parser = require('./parser.js');
// view engine setup
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.set('view engine', 'jade');
app.set('x-powered-by', false);
app.set('x-powered-by', false);
复制
已复制
复制
已复制
function authMiddleware (req, res, next) {
//check auth token here, if not authorized/authenticated
var subjectToken;
function getAdminToken(){
var adminToken;
request.post({
headers: {'content-type' : 'application/json'},
url: 'keystone_url/v3/auth/tokens',
rejectUnhauthorized : false,
strictSSL: false,
json: {
"auth":
{
"identity":
{
"methods": [
"password"
],
"password": {
"user": {
"domain" : {
"id":"default"
},
"name": "csa",
"password": process.env.CSA_PWD
}
}
},
"scope": {
"domain":{
"id":"default"
}
}
}
}
},
function(error, response, body){
adminToken = response.headers['x-subject-token'];
checkValidToken(adminToken);
});
}
function checkContainsHeader() {
//Check if request has an auth token
var containsHeader = 0;
if (req.headers['cookie']!=undefined) {
var cookie = (req.headers['cookie']);
if(cookie.indexOf('X-Auth-Token')!=-1) {
containsHeader=1;
subjectToken = parser(cookie);
}
}
//Redirect if it does not have an auth token
if(!containsHeader){
return res.send('Your session has timed out.Please login again');
}
else {
getAdminToken();
}
}
//Else check if user is authorized
function checkValidToken(adminToken) {
//Admin Token is not loaded in time, given an error
request.get({
headers: {
'content-type' : 'application/json',
'X-Subject-Token' : subjectToken,
'X-Auth-Token' : adminToken
},
url: 'keystone_url/v3/auth/tokens',
rejectUnhauthorized : false,
strictSSL: false,
},
function(error, response, body){
//Check authorization , admin for now
if (response.statusCode == 200) {
checkAuthorized(body);
}
else {
return res.send('Your session has timed out.Please login again');
}
});
}
function checkAuthorized(responseBody) {
var authorized = 0;
body = JSON.parse(responseBody);
roles = body.token.roles;
for ( i in roles){
if(roles[i].name == 'admin' || roles[i].name == 'monitor'){
authorized=1;
}
}
if(!authorized){
return res.send('Your session has timed out.Please login again');
}
next()
}
checkContainsHeader();
}
app.use(authMiddleware)
app.use(requestLogger());
app.use(requestLogger());
app.use(auth());
app.use(auth());
app.use(xsrf(config.kibana.xsrf_token));
app.use(xsrf(config.kibana.xsrf_token));
app.use(appHeaders());
app.use(appHeaders());
app.use(favicon(path.join(config.public_folder, 'styles', 'theme', 'elk.ico')));
app.use(favicon(path.join(config.public_folder, 'styles', 'theme', 'elk.ico')));
if (app.get('env') === 'development') {
if (app.get('env') === 'development') {
require('./dev')(app);
require('./dev')(app);
}
}
// The proxy must be set up before all the other middleware.
// The proxy must be set up before all the other middleware.
// TODO: WE might want to move the middleware to each of the individual routes
// TODO: WE might want to move the middleware to each of the individual routes
// so we don't have weird conflicts in the future.
// so we don't have weird conflicts in the future.
app.use('/elasticsearch', proxy);
app.use('/elasticsearch', proxy);
app.use(bodyParser.json());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(cookieParser());
app.use(compression());
app.use(compression());
app.use(express.static(config.public_folder));
app.use(express.static(config.public_folder));
if (config.external_plugins_folder) app.use('/plugins', express.static(config.external_plugins_folder));
if (config.external_plugins_folder) app.use('/plugins', express.static(config.external_plugins_folder));
复制
已复制
复制
已复制
app.use('/', routes);
app.use('/', routes);
// catch 404 and forward to error handler
// catch 404 and forward to error handler
app.use(function (req, res, next) {
app.use(function (req, res, next) {
var err = new Error('Not Found');
var err = new Error('Not Found');
err.status = 404;
err.status = 404;
next(err);
next(err);
});
});
// error handlers
// error handlers
// development error handler
// development error handler
// will print stacktrace
// will print stacktrace
if (app.get('env') === 'development') {
if (app.get('env') === 'development') {
app.use(function (err, req, res, next) {
app.use(function (err, req, res, next) {
res.status(err.status || 500);
res.status(err.status || 500);
res.render('error', {
res.render('error', {
message: err.message,
message: err.message,
error: err
error: err
});
});
});
});
}
}
// production error handler
// production error handler
// no stacktraces leaked to user
// no stacktraces leaked to user
app.use(function (err, req, res, next) {
app.use(function (err, req, res, next) {
res.status(err.status || 500);
res.status(err.status || 500);
res.render('error', {
res.render('error', {
message: err.message,
message: err.message,
error: {}
error: {}
});
});
});
});
module.exports = app;
module.exports = app;
已保存差异
原始文本
打开文件
ORIGINAL app.js at KibanaDir/src/app.js var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var requestLogger = require('./lib/requestLogger'); var auth = require('./lib/auth'); var xsrf = require('./lib/xsrf'); var appHeaders = require('./lib/appHeaders'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var compression = require('compression'); var config = require('./config'); var routes = require('./routes/index'); var proxy = require('./routes/proxy'); var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); app.set('x-powered-by', false); app.use(requestLogger()); app.use(auth()); app.use(xsrf(config.kibana.xsrf_token)); app.use(appHeaders()); app.use(favicon(path.join(config.public_folder, 'styles', 'theme', 'elk.ico'))); if (app.get('env') === 'development') { require('./dev')(app); } // The proxy must be set up before all the other middleware. // TODO: WE might want to move the middleware to each of the individual routes // so we don't have weird conflicts in the future. app.use('/elasticsearch', proxy); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(cookieParser()); app.use(compression()); app.use(express.static(config.public_folder)); if (config.external_plugins_folder) app.use('/plugins', express.static(config.external_plugins_folder)); app.use('/', routes); // catch 404 and forward to error handler app.use(function (req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); // error handlers // development error handler // will print stacktrace if (app.get('env') === 'development') { app.use(function (err, req, res, next) { res.status(err.status || 500); res.render('error', { message: err.message, error: err }); }); } // production error handler // no stacktraces leaked to user app.use(function (err, req, res, next) { res.status(err.status || 500); res.render('error', { message: err.message, error: {} }); }); module.exports = app;
更改后文本
打开文件
MODIFIED CUSTOM app.js var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var requestLogger = require('./lib/requestLogger'); var auth = require('./lib/auth'); var appHeaders = require('./lib/appHeaders'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var compression = require('compression'); var config = require('./config'); var xsrf = require('./lib/xsrf'); var request = require('request'); var routes = require('./routes/index'); var proxy = require('./routes/proxy'); var app = express(); var parser = require('./parser.js'); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); app.set('x-powered-by', false); function authMiddleware (req, res, next) { //check auth token here, if not authorized/authenticated var subjectToken; function getAdminToken(){ var adminToken; request.post({ headers: {'content-type' : 'application/json'}, url: 'keystone_url/v3/auth/tokens', rejectUnhauthorized : false, strictSSL: false, json: { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "domain" : { "id":"default" }, "name": "csa", "password": process.env.CSA_PWD } } }, "scope": { "domain":{ "id":"default" } } } } }, function(error, response, body){ adminToken = response.headers['x-subject-token']; checkValidToken(adminToken); }); } function checkContainsHeader() { //Check if request has an auth token var containsHeader = 0; if (req.headers['cookie']!=undefined) { var cookie = (req.headers['cookie']); if(cookie.indexOf('X-Auth-Token')!=-1) { containsHeader=1; subjectToken = parser(cookie); } } //Redirect if it does not have an auth token if(!containsHeader){ return res.send('Your session has timed out.Please login again'); } else { getAdminToken(); } } //Else check if user is authorized function checkValidToken(adminToken) { //Admin Token is not loaded in time, given an error request.get({ headers: { 'content-type' : 'application/json', 'X-Subject-Token' : subjectToken, 'X-Auth-Token' : adminToken }, url: 'keystone_url/v3/auth/tokens', rejectUnhauthorized : false, strictSSL: false, }, function(error, response, body){ //Check authorization , admin for now if (response.statusCode == 200) { checkAuthorized(body); } else { return res.send('Your session has timed out.Please login again'); } }); } function checkAuthorized(responseBody) { var authorized = 0; body = JSON.parse(responseBody); roles = body.token.roles; for ( i in roles){ if(roles[i].name == 'admin' || roles[i].name == 'monitor'){ authorized=1; } } if(!authorized){ return res.send('Your session has timed out.Please login again'); } next() } checkContainsHeader(); } app.use(authMiddleware) app.use(requestLogger()); app.use(auth()); app.use(xsrf(config.kibana.xsrf_token)); app.use(appHeaders()); app.use(favicon(path.join(config.public_folder, 'styles', 'theme', 'elk.ico'))); if (app.get('env') === 'development') { require('./dev')(app); } // The proxy must be set up before all the other middleware. // TODO: WE might want to move the middleware to each of the individual routes // so we don't have weird conflicts in the future. app.use('/elasticsearch', proxy); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(cookieParser()); app.use(compression()); app.use(express.static(config.public_folder)); if (config.external_plugins_folder) app.use('/plugins', express.static(config.external_plugins_folder)); app.use('/', routes); // catch 404 and forward to error handler app.use(function (req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); // error handlers // development error handler // will print stacktrace if (app.get('env') === 'development') { app.use(function (err, req, res, next) { res.status(err.status || 500); res.render('error', { message: err.message, error: err }); }); } // production error handler // no stacktraces leaked to user app.use(function (err, req, res, next) { res.status(err.status || 500); res.render('error', { message: err.message, error: {} }); }); module.exports = app;
查找差异