Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.12.2016, 16:41
Новичок на форуме
Отправить личное сообщение для crazyguyplay Посмотреть профиль Найти все сообщения от crazyguyplay
 
Регистрация: 05.12.2016
Сообщений: 1

не проходит авторизация
Помогите разобраться, не проходит авторизация !

'use strict';
let http = require('http');
let url = require('url');
let fs = require('fs');
let query = require('querystring');
let mongodb = require('mongodb').MongoClient;
let logged = {};
let customPaths = [
'/login',
'/logout',
'/register',
'/get'
];
let onlyLogged = [
'/index.html'
];

let mongopath = 'mongodb://localhost:27017/db';

let redirect = (res, address) => {
res.writeHead(302, {
'Location': address
});
res.end();
};

let processFile = (res, address) => {
if (fs.existsSync(__dirname + address)) {
res.statusCode = 200;
res.end(fs.readFileSync(__dirname + address));
} else {
redirect(res, '/404.html');
}
};

let login = (req, res, params) => {
if (params.user && params.pass) {
let dict = {
user: params.user,
pass: params.pass
};
mongodb.connect(mongopath, (err, db) => {
if (!err) {
let collection = db.collection('dbvaiscoin');
collection.find(dict).toArray((error, docs) => {
if (!error) {
if (docs.length !== 0) {
logged[String(req.connection.remoteAddress)] = params.user;
res.statusCode = 200;
res.end();
} else {
res.statusCode = 400;
res.end();
}
}
});
} else {
res.statusCode = 500;
res.end();
}
db.close();
});
}
};
let logout = (req, res) => {
logged[String(req.connection.remoteAddress)] = undefined;
res.statusCode = 200;
res.end();
};

let getData = (req, res) => {
mongodb.connect(mongopath, (err, db) => {
if (!err) {
let collection = db.collection('dbvaiscoin');
collection.find(logged[String(req.connection.remoteAddress)]).toArray((error, docs) => {
if (!error) {
res.statusCode = 200;
res.end(JSON.stringify(docs[0]));
} else {
res.statusCode = 500;
res.end();
}
})
} else {
res.statusCode = 500;
res.end();
}
db.close();
})
};

let register = (req, res, params) => {
if (params.user, params.pass) {
mongodb.connect(mongopath, (err, db) => {
let collection = db.collection('dbvaiscoin');
let doc = {
user: params.user,
pass: params.pass,
money: 0,
dollars: 0,
celery: 1000
};
collection.insert(doc);
logged[String(req.connection.remoteAddress)] = {
user: params.user,
pass: params.pass
};
db.close();
});
}
};

let processCustomUrl = (res, req, params, uri) => {
if (uri === '/login') {
login(req, res, params);
} else if (uri === '/logout') {
logout(req, res);
} else if (uri === '/register') {
register(req, res, params);
} else if (uri === '/get') {
get(req, res);
}
};

let acceptRequest = (req, res)=> {
let uri = url.parse(req.url).pathname;
let params = query.parse(url.parse(req.url).query);
if (uri.length <= 1) {
uri = '/index.html';
}
if (uri in customPaths) {
processCustomUrl(res, req, params, uri);
} else {
if (onlyLogged.indexOf(uri) !== -1 && !logged[String(req.connection.remoteAddress)]) {
redirect(res, '/login.html');
} else {
processFile(res, uri);
}
}
console.log(logged);
};

let interval = () => {
mongodb.connect(mongopath, (err, db) => {
if (!err) {
let collection = db.collection('dbvaiscoin');
collection.find({}).toArray((error, docs) => {
docs.forEach((doc) => {
collection.update(doc, {
$inc: {
money: doc.celery
}
});
db.close();
});
});
}
});
};

setInterval(interval, 10000);
http.createServer(acceptRequest).listen(8080);

console.log('Server Started!');
Ответить с цитированием
  #2 (permalink)  
Старый 05.12.2016, 19:22
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

crazyguyplay,
какие ошибки? и код засунь в свиток)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация Ajax + Php + Mysql (session) wcb-falcon AJAX и COMET 10 05.07.2012 17:52
Не проходит запрос в базу если в поле кириллица Sadist_dead Серверные языки и технологии 1 26.11.2011 17:12
Авторизация: ajax и session_start(); vanek2010 AJAX и COMET 12 18.07.2011 18:05
XMLHttpRequest status=0, хотя запрос проходит. arigasa AJAX и COMET 4 15.02.2011 20:14
Не проходит авторизация в ie8 greatilya Internet Explorer 13 08.01.2010 14:53