Skip to content
This repository was archived by the owner on Nov 4, 2019. It is now read-only.

Commit 4246836

Browse files
Merge pull request #16 from prakhar1989/proxying
Proxying - Fixes
2 parents 04514e2 + 79400ab commit 4246836

File tree

6 files changed

+50
-21
lines changed

6 files changed

+50
-21
lines changed

extension/assets/delete.png

1.84 KB
Loading

extension/css/main.css

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,3 +101,9 @@ ol li {
101101
white-space: -moz-pre-wrap; /* Mozilla */
102102
word-wrap: break-word; /* IE 5+ */
103103
}
104+
105+
#delete-log {
106+
float: right;
107+
margin-right: 10px;
108+
margin-top: 52px;
109+
}

extension/index.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@ <h5>Request capture</h5>
1919
</label>
2020
<h5>Filter requests</h5>
2121
<input type="text" id="filterRequest" placeholder="filter by domain">
22+
<a href="#" id="delete-log" title="clear logs"><img src="assets/delete.png" /></a>
2223
<div class="logger-area">
23-
<h5>Last 10 requests</h5>
24-
<ol id="logger"></ol>
24+
<h5>Last 10 requests</h5>
25+
<ol id="logger"></ol>
2526
</div>
2627
<script src="lib/underscore-min.js"></script>
2728
<script src="js/deque.js"></script>

extension/js/background_page.js

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -482,9 +482,15 @@ function sendCapturedRequestToPostman(reqId){
482482

483483
// encode raw data if exists
484484
if (requestBodyType === "rawData") {
485-
var rawEncodedData = getBase64FromArrayBuffer(request.requestBody.raw[0].bytes);
486-
request.requestBody["rawData"] = rawEncodedData;
487-
delete request.requestBody["raw"] // strip out existing raw requestBody
485+
if(request.requestBody.raw && request.requestBody.raw[0]) {
486+
var rawEncodedData = getBase64FromArrayBuffer(request.requestBody.raw[0].bytes);
487+
request.requestBody["rawData"] = rawEncodedData;
488+
delete request.requestBody["raw"] // strip out existing raw requestBody
489+
}
490+
else {
491+
// if no raw data or bytes set rawData as null
492+
request.requestBody["rawData"] = null;
493+
}
488494
}
489495
}
490496

@@ -498,14 +504,9 @@ function sendCapturedRequestToPostman(reqId){
498504
}
499505
},
500506
function response(resp) {
501-
if (!resp.success) {
502-
console.log("Error occured in sending captured request with id:", reqId);
503-
} else {
504-
console.log("Postman received request!");
505-
}
506-
// TODO: needs to be moved to response.success block
507-
sendCapturedRequestToFrontend(loggerMsg);
508-
delete requestCache[reqId];
507+
console.log("Request sent to postman for request:", reqId);
508+
sendCapturedRequestToFrontend(loggerMsg);
509+
delete requestCache[reqId];
509510
}
510511
);
511512
}
@@ -553,6 +554,10 @@ chrome.runtime.onConnect.addListener(function(port){
553554
appOptions.isCaptureStateEnabled = msg.options.toggleSwitchState;
554555
appOptions.filterRequestUrl = msg.options.filterRequestUrl || appOptions.filterRequestUrl;
555556
}
557+
if(msg.reset) {
558+
// clears the logCache
559+
logCache.clear();
560+
}
556561
});
557562

558563
BackgroundPort.postMessage({options: appOptions});

extension/js/deque.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
function Deque(N) {
1010
this._maxlength = N;
1111
this.items = new Array();
12+
this.clear = function() {
13+
this.items = [];
14+
}
1215
}
1316

1417
Deque.prototype.dequeue = function() {

extension/js/index_page.js

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
1+
// DOM elements in popup
2+
var toggleSwitch = document.getElementById('postManSwitch');
3+
var filterUrlInput = document.getElementById('filterRequest');
4+
var deleteBtn = document.getElementById('delete-log');
5+
16
// this port is available as soon as popup is opened
27
var popupPort = chrome.runtime.connect({name: 'POPUPCHANNEL'});
38

9+
// get the value from localStorage and sets it
10+
toggleSwitch.checked = localStorage.getItem("toggleSwitchState") === "true";
11+
412
// DOM element for appending log messages
513
var loggerList = document.getElementById('logger');
614

@@ -42,18 +50,24 @@ function setOptions(options) {
4250
if (options.isCaptureStateEnabled !== appOptions.toggleSwitchState) {
4351
toggleSwitch.checked = appOptions.toggleSwitchState = options.isCaptureStateEnabled;
4452
filterUrlInput.value = options.filterRequestUrl;
53+
console.log("setting localStorage value");
54+
localStorage.setItem('toggleSwitchState', toggleSwitch.checked);
4555
}
4656
};
4757

48-
var toggleSwitch = document.getElementById('postManSwitch');
49-
var filterUrlInput = document.getElementById('filterRequest');
50-
5158
toggleSwitch.addEventListener('click', function() {
52-
appOptions.toggleSwitchState = !appOptions.toggleSwitchState;
53-
popupPort.postMessage({options: appOptions});
59+
appOptions.toggleSwitchState = !appOptions.toggleSwitchState;
60+
popupPort.postMessage({options: appOptions});
61+
localStorage.setItem('toggleSwitchState', appOptions.toggleSwitchState);
5462
}, false);
5563

5664
filterUrlInput.addEventListener('input', function() {
57-
appOptions.filterRequestUrl = filterUrlInput.value;
58-
popupPort.postMessage({options: appOptions});
59-
}, false);
65+
appOptions.filterRequestUrl = filterUrlInput.value;
66+
popupPort.postMessage({options: appOptions});
67+
}, false);
68+
69+
deleteBtn.addEventListener('click', function() {
70+
loggerList.innerHTML = "";
71+
popupPort.postMessage({reset: "logCache"});
72+
});
73+

0 commit comments

Comments
 (0)