Minor bug fixes

This commit is contained in:
斟酌 鵬兄 2016-02-12 03:12:38 +08:00
parent 0f2ca2e162
commit bc77a9d371
3 changed files with 39 additions and 22 deletions

View File

@ -67,6 +67,13 @@ class WNSAuth extends EventEmitter
var uuid = Rand.uuid();
_self.__send( ChannelUri, N, ( sender, e ) => {
if( typeof( e ) == "string" )
{
handler( _self, e );
return;
}
if( e.statusCode == 200 )
{
Model.Tokens.update(
@ -83,11 +90,8 @@ class WNSAuth extends EventEmitter
}
handler( _self, uuid );
} );
return;
}
handler( _self, e.statusCode + " Server Error: Unable to push message to channel" );
} );
};
@ -134,24 +138,32 @@ class WNSAuth extends EventEmitter
return;
}
var Request = new HttpRequest( ChannelUri, {
"Authorization": "Bearer " + AuthToken
, "X-WNS-RequestForStatus": "true"
, "X-WNS-Type": "wns/toast"
} );
if( !Request.Hostname.match( /.*\.notify\.windows\.com$/ ) )
try
{
handler( this, "Malicious hostname: " + Request.Hostname );
var Request = new HttpRequest( ChannelUri, {
"Authorization": "Bearer " + AuthToken
, "X-WNS-RequestForStatus": "true"
, "X-WNS-Type": "wns/toast"
} );
if( !Request.Hostname.match( /.*\.notify\.windows\.com$/ ) )
{
handler( this, "Malicious hostname: " + Request.Hostname );
return;
}
Request.PostData( NotisQ.Xml );
Request.Headers[ "Content-Type" ] = "text/xml";
Request.addListener( "RequestComplete", handler );
Request.Send();
}
catch( ex )
{
handler( this, ex.message );
return;
}
Request.PostData( NotisQ.Xml );
Request.Headers[ "Content-Type" ] = "text/xml";
Request.addListener( "RequestComplete", handler );
Request.Send();
}
__authWNS()

View File

@ -80,12 +80,13 @@ class App extends Base
ProcessQueue()
{
if( !this.RequestQueue.length ) return;
if(!( this.RequestQueue && this.RequestQueue.length ))
{
this.RequestQueue = [];
return;
}
var Request = this.RequestQueue.shift();
Dragonfly.Info( "Processing Request: " + Request );
this.OAuth.Deliver( Request );
}
}

View File

@ -25,6 +25,10 @@ var R_Tokens = { type: Schema.Types.ObjectId, ref: "Tokens" };
var M_Tokens = new Schema({
name: { type: String, unique: true }
, token: { type: String }
, date_created: {
type: Date
, default: Date.now
}
});