session: webRequest.OnHeadersReceived should follow server redirect

Its required to follow server redirects.
This commit is contained in:
deepak1556 2016-04-05 08:48:20 +05:30
parent cf2a17cf88
commit 4fc35a4587
2 changed files with 32 additions and 5 deletions

View file

@ -7,12 +7,18 @@ const session = remote.session
describe('webRequest module', function () {
var ses = session.defaultSession
var server = http.createServer(function (req, res) {
res.setHeader('Custom', ['Header'])
var content = req.url
if (req.headers.accept === '*/*;test/header') {
content += 'header/received'
if (req.url == '/serverRedirect') {
res.statusCode = 301
res.setHeader('Location', 'http://' + req.rawHeaders[1])
res.end()
} else {
res.setHeader('Custom', ['Header'])
var content = req.url
if (req.headers.accept === '*/*;test/header') {
content += 'header/received'
}
res.end(content)
}
res.end(content)
})
var defaultURL = null
@ -297,6 +303,25 @@ describe('webRequest module', function () {
}
})
})
it('follows server redirect', function (done) {
ses.webRequest.onHeadersReceived(function (details, callback) {
var responseHeaders = details.responseHeaders
callback({
responseHeaders: responseHeaders,
})
})
$.ajax({
url: defaultURL + 'serverRedirect',
success: function (data, status, xhr) {
assert.equal(xhr.getResponseHeader('Custom'), 'Header')
done()
},
error: function (xhr, errorType) {
done(errorType)
}
})
})
})
describe('webRequest.onResponseStarted', function () {