Added re-auth logic
This commit is contained in:
parent
615c112f0a
commit
c7e3a80f42
@ -12,6 +12,7 @@ class Notis
|
|||||||
{
|
{
|
||||||
this.__valid = false;
|
this.__valid = false;
|
||||||
this.__error = null;
|
this.__error = null;
|
||||||
|
this.Retry = 0;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -115,6 +115,7 @@ class WNSAuth extends EventEmitter
|
|||||||
|
|
||||||
Deliver( NotisQ )
|
Deliver( NotisQ )
|
||||||
{
|
{
|
||||||
|
var _self = this;
|
||||||
Model.Tokens
|
Model.Tokens
|
||||||
.findOne({ name: NotisQ.id })
|
.findOne({ name: NotisQ.id })
|
||||||
.exec( ( err, data ) => {
|
.exec( ( err, data ) => {
|
||||||
@ -128,6 +129,26 @@ class WNSAuth extends EventEmitter
|
|||||||
{
|
{
|
||||||
this.__send( data.token, NotisQ, ( sender, e ) => {
|
this.__send( data.token, NotisQ, ( sender, e ) => {
|
||||||
Dragonfly.Debug( "Send: " + e.statusCode );
|
Dragonfly.Debug( "Send: " + e.statusCode );
|
||||||
|
|
||||||
|
if( e.statusCode != 200 )
|
||||||
|
{
|
||||||
|
AuthToken = null;
|
||||||
|
Dragonfly.Info( "Perhaps access token is expired, retrying ..." );
|
||||||
|
|
||||||
|
if( NotisQ.Retry < 2 )
|
||||||
|
{
|
||||||
|
_self.once( "AuthComplete", () => {
|
||||||
|
NotisQ.Retry ++;
|
||||||
|
_self.Deliver( NotisQ );
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Dragonfly.Info( "Retrying exceeded the limit, dropping the message" );
|
||||||
|
}
|
||||||
|
|
||||||
|
_self.Authenticate();
|
||||||
|
}
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user