Diff
checker
Texte
Texte
Images
Documents
Excel
Dossiers
Legal
Enterprise
Application de bureau
Prix
Se connecter
Télécharger Diffchecker Desktop
Comparer le texte
Trouver la différence entre deux fichiers texte
Outils
Historique
Éditeur live
Cacher identiques
Sans retour à la ligne
Vue
Divisé
Unifié
Niveau de précision
Intelligent
Mot
Caractère
Coloration syntaxique
Choisir la syntaxe
Ignorer
Transformer le texte
Aller au premier écart
Modifier l'entrée
Diffchecker Desktop
La façon la plus sécurisée d'utiliser Diffchecker. Obtenez l'application Diffchecker Desktop : vos diffs ne quittent jamais votre ordinateur !
Obtenir Desktop
Untitled diff
Créé
il y a 10 ans
Le diff n'expire jamais
Effacer
Exporter
Partager
Expliquer
6 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
83 lignes
Copier tout
113 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
191 lignes
Copier tout
Copier
Copié
Copier
Copié
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');
Copier
Copié
Copier
Copié
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');
Copier
Copié
Copier
Copié
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');
Copier
Copié
Copier
Copié
var app = express();
var app = express();
Copier
Copié
Copier
Copié
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);
Copier
Copié
Copier
Copié
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));
Copier
Copié
Copier
Copié
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;
Différences enregistrées
Texte d'origine
Ouvrir un fichier
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;
Texte modifié
Ouvrir un fichier
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;
Trouver la différence