@@ -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*/
11911220Framework . 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 }
0 commit comments