Fixing authentication cancel with null/undefined credentials.

This commit is contained in:
ali.ibrahim 2016-10-20 11:43:26 +02:00
parent 7549adcfce
commit 7f8b180f70
2 changed files with 21 additions and 3 deletions

View file

@ -305,9 +305,8 @@ void URLRequest::OnAuthenticationRequired(
return;
}
EmitRequestEvent(
false, "login", auth_info.get(),
base::Bind(&AtomURLRequest::PassLoginInformation, atom_request_));
Emit("login", auth_info.get(),
base::Bind(&AtomURLRequest::PassLoginInformation, atom_request_));
}
void URLRequest::OnResponseStarted(

View file

@ -192,6 +192,25 @@ class ClientRequest extends EventEmitter {
this.emit('response', response)
})
urlRequest.on('login', (event, authInfo, callback) => {
this.emit('login', authInfo, (username, password) => {
// If null or undefined usrename/password, force to empty string.
if (username === null || username === undefined) {
username = ''
}
if (typeof username !== 'string') {
throw new Error('username must be a string')
}
if (password === null || password === undefined) {
password = ''
}
if (typeof password !== 'string') {
throw new Error('password must be a string')
}
callback(username, password)
})
})
if (callback) {
this.once('response', callback)
}