Commit a3c5daa4 authored by edwin's avatar edwin

remove cookie section since discover that it will already send the session data

parent 9539e807
...@@ -20,8 +20,8 @@ ...@@ -20,8 +20,8 @@
}); });
// operation // operation
document.querySelector("#saveSession").addEventListener("click",saveSession); // document.querySelector("#saveSession").addEventListener("click",saveSession);
document.querySelector("#loadSession").addEventListener("click",loadSession); // document.querySelector("#loadSession").addEventListener("click",loadSession);
document.querySelector("#searchSKUs").addEventListener("click", startFetching); document.querySelector("#searchSKUs").addEventListener("click", startFetching);
document.querySelector("#downloadSelectedSKUs").addEventListener("click",downloadFetching); document.querySelector("#downloadSelectedSKUs").addEventListener("click",downloadFetching);
...@@ -57,52 +57,14 @@ ...@@ -57,52 +57,14 @@
} }
} }
function generateCookie(){ function getConfig(){
let cookie = document.cookie;
// HTTPOnly cookie require manual input
cookie += "; digitallibrary-session=" + document.getElementById("session-string").value;
cookie += "; digitallibrary-session.sig=" + document.getElementById("session-sig-string").value;
return cookie;
}
function getHeader(){
var header = new Headers();
header.append("authority", "digitallibrary-external.fastretailing.com");
header.append("pragma", "no-cache");
header.append("cache-control", "no-cache");
header.append("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36");
header.append("accept", "*/*");
header.append("accept-language", "en-US,en;q=0.9,zh-TW;q=0.8,zh;q=0.7,zh-CN;q=0.6,ja;q=0.5");
header.append("cookie", generateCookie());
return header;
}
function getConfig(header){
return { return {
"method": "GET", "method": "GET",
"headers": header,
"mode": "cors", "mode": "cors",
"redirect": "follow" "redirect": "follow"
}; };
} }
function saveSession(){
let sessionString = document.getElementById("session-string").value;
let sessionSigString = document.getElementById("session-sig-string").value;
chrome.storage.local.set({
"sessionString": sessionString,
"sessionSigString": sessionSigString
});
}
function loadSession(){
chrome.storage.local.get(["sessionString", "sessionSigString"],function(result){
document.getElementById("session-string").value = result.sessionString;
document.getElementById("session-sig-string").value = result.sessionSigString
});
}
/* End of utility function */ /* End of utility function */
/* Start of main function */ /* Start of main function */
...@@ -215,8 +177,7 @@ ...@@ -215,8 +177,7 @@
let currentms = new Date().getTime(); let currentms = new Date().getTime();
let url = `${baseurl}api/asset?time=${currentms}&t=datacategory%2Fasset&w=${SKU}&r=north&z=${fetchNumber}&c=DEFAULT`; let url = `${baseurl}api/asset?time=${currentms}&t=datacategory%2Fasset&w=${SKU}&r=north&z=${fetchNumber}&c=DEFAULT`;
let header = getHeader(); let config = getConfig();
let config = getConfig(header);
addDebugMessage(`Start fetching SKU=${SKU}`); addDebugMessage(`Start fetching SKU=${SKU}`);
...@@ -313,7 +274,7 @@ ...@@ -313,7 +274,7 @@
console.log(json); console.log(json);
// prepare header for POST request // prepare header for POST request
let postheader = getHeader(); let postheader = new Headers();
postheader.append("Content-Type", "application/json"); postheader.append("Content-Type", "application/json");
postheader.append("csrf-token", document.querySelector('meta[name="csrf-token"]').content); postheader.append("csrf-token", document.querySelector('meta[name="csrf-token"]').content);
postheader.append("origin", "https://digitallibrary-external.fastretailing.com"); postheader.append("origin", "https://digitallibrary-external.fastretailing.com");
...@@ -333,7 +294,7 @@ ...@@ -333,7 +294,7 @@
}); });
// send GET request for downloading the zip file // send GET request for downloading the zip file
fetch(`/api/asset/download/${response.token}`, getConfig(getHeader())) fetch(`/api/asset/download/${response.token}`, getConfig())
.then(response => response.blob()) .then(response => response.blob())
.then(blob => { .then(blob => {
...@@ -372,5 +333,4 @@ ...@@ -372,5 +333,4 @@
} }
addLightBox(); addLightBox();
})(); })();
\ No newline at end of file
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
background-color: white; background-color: white;
display: grid; display: grid;
grid-template-columns: 150px 1fr 250px; grid-template-columns: 200px 1fr;
grid-template-rows: 1fr 2fr; grid-template-rows: 1fr 2fr;
} }
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
} }
#fetch-lightbox input{ #fetch-lightbox input{
flex-grow: 1; width: 100%;
height: 30px; height: 30px;
margin-bottom: 15px; margin-bottom: 15px;
} }
...@@ -71,16 +71,10 @@ ...@@ -71,16 +71,10 @@
margin-right: 5px; margin-right: 5px;
} }
#fetch-lightbox .cookie-remark{
font-size: 0.8em;
margin-top: 0;
margin-bottom: 15px;
}
#fetch-lightbox .info-box{ #fetch-lightbox .info-box{
grid-column-start: 1; grid-column-start: 2;
grid-column-end: 4; grid-row-start: 1;
grid-row-start: 2; grid-row-end: 3;
border: 2px solid #cccccc; border: 2px solid #cccccc;
border-radius: 5px; border-radius: 5px;
...@@ -89,6 +83,11 @@ ...@@ -89,6 +83,11 @@
position: relative; position: relative;
} }
#fetch-lightbox .operation-box{
grid-column-start: 1;
grid-row-start: 2;
}
#fetch-lightbox .info-message{ #fetch-lightbox .info-message{
position: absolute; position: absolute;
top: 10px; top: 10px;
......
...@@ -11,30 +11,13 @@ ...@@ -11,30 +11,13 @@
<textarea id="sku-list" cols="20"></textarea> <textarea id="sku-list" cols="20"></textarea>
</div> </div>
<div class="cookie-box"> <div class="info-box">
<h6>Cookie</h6> <div class="info-message"></div>
<div class="input-box"> <div class="debug-box"></div>
<label>digitallibrary-session: </label>
<input type="text" id="session-string" name="session" autocomplete="off"/>
</div>
<div class="input-box">
<label>digitallibrary-session.sig: </label>
<input type="text" id="session-sig-string" name="session-sig" autocomplete="off"/>
</div>
<p class="cookie-remark">
Manuel input required because session cannot obtain from javascript <br />
To copy the cookie string, go to:
Web Inspector > Application > Storage > Cookie
<div>
<button id="saveSession">Save Session</button>
<button id="loadSession">Load Saved Session</button>
</div>
</p>
</div> </div>
<div class="operation-box"> <div class="operation-box">
<h6>Search and Download</h6> <h6>Search and Download</h6>
<div class="input-box"> <div class="input-box">
<label>Date: </label> <label>Date: </label>
...@@ -45,15 +28,7 @@ ...@@ -45,15 +28,7 @@
<h6>Download All SKUs</h6> <h6>Download All SKUs</h6>
<button id="downloadAllSKUs">Download</button> <button id="downloadAllSKUs">Download</button>
<a id="download-trigger" href="#" download hidden >Download</a> <a id="download-trigger" href="#" download hidden >Download</a>
</div>
<div class="info-box">
<div class="info-message"></div>
<div class="debug-box"></div>
</div> </div>
</div> </div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment