Skip to content

Commit f487888

Browse files
committed
added: authorize + updated: logged, unlogged flag (obsolete)
1 parent 156e831 commit f487888

4 files changed

Lines changed: 62 additions & 14 deletions

File tree

changes.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@ IN DEVELOPMENT ======= 1.2.2 (HOTFIX)
33
- added: view @{helper('name', [arg1], [arg2], ...)}
44
- added: controller.helper(name, [arg1], [arg2], ...)
55
- added: next markup /*auto*/ for auto-vendor-prefixes
6+
- added: authorize flag
7+
8+
IMPORTANT:
9+
- updated: logged flag is obsolete
10+
- updated: unlogged flag is obsolete
611

712
- fixed: helpers
813

index.js

Lines changed: 51 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ function Framework() {
135135
this.tests = {};
136136
this.errors = [];
137137
this.problems = [];
138+
this.changes = [];
138139
this.server = null;
139140
this.port = 0;
140141
this.ip = '';
@@ -436,10 +437,17 @@ Framework.prototype.route = function(url, funcExecute, flags, maximumSize, parti
436437
case 'raw':
437438
isRaw = true;
438439
break;
440+
case 'authorize':
441+
priority -= 2;
442+
tmp.push('authorize');
443+
break;
439444
case 'logged':
440-
case 'unlogged':
441445
priority -= 2;
442-
tmp.push(flag);
446+
tmp.push('authorize');
447+
console.log('OBSOLETE: flag "logged" - use "authorize".');
448+
break;
449+
case 'unlogged':
450+
console.log('OBSOLETE: flag "unlogged". Framework doesn\'t support unlogged flag.');
443451
break;
444452
default:
445453
tmp.push(flag);
@@ -461,7 +469,7 @@ Framework.prototype.route = function(url, funcExecute, flags, maximumSize, parti
461469

462470
var isMember = false;
463471

464-
if (flags.indexOf('logged') === -1 && flags.indexOf('unlogged') === -1)
472+
if (flags.indexOf('logged') === -1 && flags.indexOf('authorize') === -1)
465473
isMember = true;
466474

467475
var routeURL = internal.routeSplit(url.trim());
@@ -625,7 +633,7 @@ Framework.prototype.websocket = function(url, funcInitialize, flags, protocols,
625633

626634
var isMember = false;
627635

628-
if (!flags || (flags.indexOf('logged') === -1 && flags.indexOf('unlogged') === -1))
636+
if (!flags || (flags.indexOf('logged') === -1 && flags.indexOf('authorize') === -1))
629637
isMember = true;
630638

631639
self.routes.websockets.push({ name: (_controller || '').length === 0 ? 'unknown' : _controller, url: routeURL, param: arr, subdomain: subdomain, priority: priority, flags: flags || [], onInitialize: funcInitialize, protocols: protocols || [], allow: allow || [], length: (maximumSize || self.config['default-websocket-request-length']) * 1024, isMEMBER: isMember, isJSON: isJSON, isBINARY: isBINARY });
@@ -667,7 +675,6 @@ Framework.prototype.error = function(err, name, uri) {
667675
return self;
668676
};
669677

670-
671678
/*
672679
Problem caller
673680
@message {String}
@@ -690,6 +697,28 @@ Framework.prototype.problem = function(message, name, uri, ip) {
690697
return self;
691698
};
692699

700+
/*
701+
Change caller
702+
@message {String}
703+
@name {String} :: controller name
704+
@uri {URI} :: optional
705+
@ip {String} :: optional
706+
return {Framework}
707+
*/
708+
Framework.prototype.change = function(message, name, uri, ip) {
709+
var self = this;
710+
711+
if (self.changes !== null) {
712+
self.changes.push({ message: message, name: name, uri: uri, ip: ip });
713+
714+
if (self.changes.length > 50)
715+
self.changes.shift();
716+
}
717+
718+
self.emit('change', message, name, uri, ip);
719+
return self;
720+
};
721+
693722
/*
694723
Module caller
695724
@name {String}
@@ -1186,7 +1215,7 @@ Framework.prototype.onRequest = null;
11861215
@req {ServerRequest}
11871216
@res {ServerResponse} OR {WebSocketClient}
11881217
@flags {String array}
1189-
@callback {Function} - @callback(Boolean), true if logged and false if unlogged
1218+
@callback {Function} - @callback(Boolean), true if authorize and false if unlogged
11901219
*/
11911220
Framework.prototype.onAuthorization = null;
11921221

@@ -2848,7 +2877,8 @@ Framework.prototype._upgrade = function(req, socket, head) {
28482877
if (user)
28492878
req.user = user;
28502879

2851-
req.flags.push(isLogged ? 'logged' : 'unlogged');
2880+
if (isLogged)
2881+
req.flags.push('authorize');
28522882

28532883
var route = self.lookup_websocket(req, websocket.uri.pathname, false);
28542884

@@ -5191,7 +5221,9 @@ Subscribe.prototype._authorization = function(isLogged, user) {
51915221
if (user)
51925222
self.req.user = user;
51935223

5194-
self.req.flags.push(isLogged ? 'logged' : 'unlogged');
5224+
if (isLogged)
5225+
self.req.flags.push('authorize');
5226+
51955227
self.route = self.framework.lookup(self.req, self.req.buffer_exceeded ? '#431' : self.req.uri.pathname, self.req.flags);
51965228

51975229
if (self.route === null)
@@ -5794,6 +5826,17 @@ Controller.prototype.problem = function(message) {
57945826
return self;
57955827
};
57965828

5829+
/*
5830+
Change
5831+
@message {String}
5832+
return {Framework}
5833+
*/
5834+
Controller.prototype.change = function(message) {
5835+
var self = this;
5836+
self.framework.change(message, self.name, self.uri, self.ip);
5837+
return self;
5838+
};
5839+
57975840
/*
57985841
Add function to async waiting list
57995842
@name {String}

minify/total.js/index.js

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/controllers/default.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
var assert = require('assert');
22

33
exports.install = function(framework) {
4-
framework.route('/logged/', view_logged, { flags: ['logged'], timeout: 1000, length: 3000 });
4+
framework.route('/logged/', view_logged, { flags: ['authorize'], timeout: 1000, length: 3000 });
55
framework.route('/homepage/', view_homepage);
66
framework.route('/usage/', view_usage);
77
framework.route('/sse/', viewSSE_html);

0 commit comments

Comments
 (0)