fixed bug where res would time out

This commit is contained in:
plane000
2018-09-01 21:30:46 +01:00
parent 5f7313cd0d
commit 47a76e2f5b
7 changed files with 14 additions and 17 deletions

View File

@@ -10,7 +10,7 @@ export class RateLimits extends MiddleWare{
let ip = req.connection.remoteAddress; let ip = req.connection.remoteAddress;
if (!buckets[ip]) { if (!buckets[ip]) {
console.log(`New bucket`) Logger.debug(`New rate limiting bucket`);
RateLimits.newBucket(ip); RateLimits.newBucket(ip);
next(); next();
return; return;

View File

@@ -12,13 +12,13 @@ export class Router {
app = Server.App; app = Server.App;
app.get('/', [MiddleWare.end, Router.frontPage]); app.get('/', [MiddleWare.RateLimits.request, MiddleWare.analytics, Router.frontPage]);
app.get('/user/:id', [MiddleWare.end]); app.get('/user/:id', [MiddleWare.RateLimits.request, MiddleWare.analytics,]);
app.delete('/user/:id', [MiddleWare.end]); app.delete('/user/:id', [MiddleWare.RateLimits.request, MiddleWare.analytics,]);
app.post('/user', [MiddleWare.end, Controllers.UserController.newUser]); app.post('/user', [MiddleWare.RateLimits.request, MiddleWare.analytics, Controllers.UserController.newUser]);
app.use([StatusCodes.pageNotFound]); app.get('*', [MiddleWare.RateLimits.request, StatusCodes.pageNotFound]);
Logger.info('HTTP endpoints settup'); Logger.info('HTTP endpoints settup');
} }

View File

@@ -24,8 +24,8 @@ export class UserController extends ControllerHandler {
if (!UserController.isPasswordValid(password)) errors.addError(422, 'Unprocessaable entity', 'Invalid password has spaces'); if (!UserController.isPasswordValid(password)) errors.addError(422, 'Unprocessaable entity', 'Invalid password has spaces');
if (password.length < 7) errors.addError(422, 'Unprocessaable entity', 'Invalid password less than 7 charicters'); if (password.length < 7) errors.addError(422, 'Unprocessaable entity', 'Invalid password less than 7 charicters');
if (await Database.users.getID('username', username) == -1) errors.addError(422, 'Unprocessable entity', 'A user with that username allready exists'); if (await Database.users.getID('username', username) != -1) errors.addError(422, 'Unprocessable entity', 'A user with that username allready exists');
if (await Database.users.getID('email', email) == -1) errors.addError(422, 'Unprocessable entity', 'A user with that email allready exists'); if (await Database.users.getID('email', email) != -1) errors.addError(422, 'Unprocessable entity', 'A user with that email allready exists');
let id = new Date().getTime(); let id = new Date().getTime();
let token = "1234"; let token = "1234";

View File

@@ -1,9 +1,6 @@
import {API} from './API'; import {API} from './API';
export class APIErrors extends API { export class APIErrors extends API {
// get errors() {return this.errors}
// set errors(err) {this.errors = err}
constructor(res) { constructor(res) {
super() super()
this.res = res; this.res = res;
@@ -25,7 +22,7 @@ export class APIErrors extends API {
this.errors.error.errors.push({status: statusCode, title: message, detail: verbose}); this.errors.error.errors.push({status: statusCode, title: message, detail: verbose});
this.errors.status.code = statusCode; this.errors.status.code = statusCode;
this.errors.status.type = message; this.errors.status.type = message;
this.errors.status.message = verbose; this.errors.status.message = message;
} }
count() { return this.errors.error.errors.length } count() { return this.errors.error.errors.length }

View File

@@ -3,7 +3,6 @@ import {API} from './API';
export class User extends API { export class User extends API {
constructor(res, id, username, email, updated, token) { constructor(res, id, username, email, updated, token) {
super(); super();
this.res = res;
this.response = { this.response = {
status: { status: {
error: false, error: false,
@@ -27,9 +26,6 @@ export class User extends API {
} }
endpoint() { endpoint() {
this.res this.res.status(200).end(JSON.stringify(this.response, false, 4));
.setHeader('Content-type', 'application/json')
.status(200)
.end(JSON.stringify(this.response, false, 4));
} }
} }

View File

@@ -66,6 +66,10 @@ export class UserTools extends BaseDatabase {
let user = await User.findOne({where: {username: search}}); let user = await User.findOne({where: {username: search}});
if (user == null) return -1; if (user == null) return -1;
return user; return user;
} else if (column == 'email') {
let user = await User.findOne({where: {email: search}});
if (user == null) return -1;
return user;
} else if (column == 'password') { } else if (column == 'password') {
let user = await User.findOne({where: {password: search}}); let user = await User.findOne({where: {password: search}});
if (user == null) return -1; if (user == null) return -1;