Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
jdart committed May 16, 2017
1 parent 710925c commit 7c65176
Showing 1 changed file with 17 additions and 6 deletions.
23 changes: 17 additions & 6 deletions listeners.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,15 @@ function Listeners() {
state.tabOrigins[tab.id] = urlToOrigin(tab.url);
}

function request(details) {
function prepare(details) {
state.requests[details.requestId] = {};
chrome.tabs.get(details.tabId, setTabOrigin);
}

function request(details) {
updateAllowHeaders(details, details.requestHeaders);

setHeader(details.requestHeaders, 'Origin', 'http://evil.com');

chrome.tabs.get(details.tabId, setTabOrigin);

return {requestHeaders: details.requestHeaders};
}

Expand Down Expand Up @@ -87,11 +87,13 @@ function Listeners() {
setHeader(details.responseHeaders, 'Access-Control-Allow-Methods', state.config.allowMethods);
setAllowHeaders(details, details.responseHeaders);

delete state.requests[details.requestId];

return {responseHeaders: details.responseHeaders};
}

function cleanup(details) {
delete state.requests[details.requestId];
}

function remove() {
/*Remove Listeners*/
chrome.webRequest.onHeadersReceived.removeListener(response);
Expand All @@ -102,6 +104,11 @@ function Listeners() {
if (!state.config.active || !state.config.urls.length)
return;

/*Add Listeners*/
chrome.webRequest.onBeforeRequest.addListener(prepare, {
urls: state.config.urls
}, ['blocking']);

/*Add Listeners*/
chrome.webRequest.onHeadersReceived.addListener(response, {
urls: state.config.urls
Expand All @@ -110,6 +117,10 @@ function Listeners() {
chrome.webRequest.onBeforeSendHeaders.addListener(request, {
urls: state.config.urls
}, ['blocking', 'requestHeaders']);

chrome.webRequest.onCompleted.addListener(cleanup, {
urls: state.config.urls
});
}

function activate(config) {
Expand Down

0 comments on commit 7c65176

Please sign in to comment.