Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
CSEGroup22SDP/static/js/requests.js
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
163 lines (145 sloc)
5.56 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { setAnimateInstructions } from './index.js'; | |
// How to get base URL of server to use for api calls | |
var getUrl = window.location; | |
var baseUrl = getUrl .protocol + "//" + getUrl.host + '/' | |
// Start Simulation to assigns variables. | |
var DDDstate; | |
var skipsim; | |
var outputFile; | |
var sumOut; | |
var logOut; | |
var packetsize; | |
var rtsa; | |
var maxqueuesize; | |
var dddmappingdelay; | |
var propagationdelay; | |
var numofDDDport; | |
var bandwidthconnection; | |
var timetonextDDDport; | |
var overlaptimeoldDDD; | |
var durationSim; | |
var numbSynAckResends; | |
var clienttoRouter; | |
var routertoClient; | |
var routertoReflector; | |
var routertoNormal; | |
var normaltoRouter; | |
var reflectortoRouter; | |
var attackertoReflector; | |
var queueLimit; | |
var attackerType; | |
var amplification; | |
var storageFolder; | |
// When simulation started, we will retrieve a session ID. | |
var sessionId; | |
function startSimulation(){ | |
DDDstate = document.getElementById("DDDstate").checked; | |
skipsim = document.getElementById("simOption").checked; | |
outputFile= document.getElementById("downOutput").checked; | |
// If the output File option is checked we get summfile, and logfile. Otherwise set it to false. | |
if(outputFile){ | |
sumOut = document.getElementById("summfile").checked; | |
logOut = document.getElementById("logfile").checked; | |
} | |
else{ | |
sumOut = false; | |
logOut = false; | |
} | |
packetsize = document.getElementById("packetsize").value; | |
rtsa = document.getElementById("rtsa").value; | |
maxqueuesize = document.getElementById("maxqueuesize").value; | |
dddmappingdelay = document.getElementById("dddmappingdelay").value; | |
propagationdelay = document.getElementById("propagationdelay").value; | |
numofDDDport = document.getElementById("numofDDDport").value; | |
timetonextDDDport = document.getElementById("timetonextDDDport").value; | |
overlaptimeoldDDD = document.getElementById("overlaptimeoldDDD").value; | |
durationSim = document.getElementById("durationSim").value; | |
numbSynAckResends = document.getElementById("numbSynAckResends").value; | |
clienttoRouter=document.getElementById("clienttoRouter").value; | |
routertoClient=document.getElementById("routertoClient").value; | |
routertoReflector=document.getElementById("routertoReflector").value; | |
routertoNormal=document.getElementById("routertoNormal").value; | |
normaltoRouter=document.getElementById("normaltoRouter").value; | |
reflectortoRouter=document.getElementById("reflectortoRouter").value; | |
attackertoReflector=document.getElementById("attackertoReflector").value; | |
queueLimit=document.getElementById("queueLimit").value; | |
attackerType = document.getElementById("AtkType").value; | |
amplification = document.getElementById("Amp").value; | |
storageFolder = document.getElementById("storageFolder").value; | |
} | |
// sendGet is the function that is called when user presses button on index.html | |
window.sendGet = sendGet; | |
function sendGet(){ | |
startSimulation(); | |
var xmlHttp = new XMLHttpRequest(); | |
xmlHttp.onreadystatechange = function() { | |
if (xmlHttp.readyState == 4 && xmlHttp.status == 200){ | |
let jsonObj = JSON.parse(xmlHttp.responseText); | |
sessionId = jsonObj[jsonObj.length - 1]; | |
console.log('Session GUID = ' + sessionId); | |
console.log('length of animateInstructions list is ' + jsonObj.length); | |
setAnimateInstructions(jsonObj); | |
} | |
} | |
// This line creates the url that will send a request to the python server | |
let sendRequestUrl = baseUrl + "runSimulation/" | |
+ DDDstate + "&" + skipsim +"&" + sumOut + "&" + logOut + "&" + packetsize + "&" + | |
rtsa + "&" + | |
maxqueuesize + "&" + | |
dddmappingdelay+ "&" + propagationdelay + "&" + numofDDDport + "&" + timetonextDDDport +"&" + overlaptimeoldDDD | |
+ "&" + durationSim + "&" + numbSynAckResends + "&" + clienttoRouter + "&" + routertoClient + "&" + | |
routertoReflector + "&" + routertoNormal + "&" + normaltoRouter + "&" + reflectortoRouter + "&" + attackertoReflector + "&" + queueLimit +"&" + attackerType + "&" | |
+ amplification + "&" + storageFolder; | |
console.log(sendRequestUrl); | |
xmlHttp.open("GET", sendRequestUrl, true); // true for asynchronous | |
xmlHttp.send(null); | |
} | |
// When click download button its pulled the user's inputs for the name and add .csv to the end of it. | |
var filename1; | |
var filename2; | |
function downloadFiles(){ | |
filename1 = document.getElementById("file1").value; | |
if(filename1){ | |
filename1 = filename1.concat(".csv"); | |
} | |
filename2 = document.getElementById("file2").value; | |
if(filename2){ | |
filename2 = filename2.concat(".csv"); | |
} | |
} | |
window.showGraph = showGraph; | |
function showGraph(){ | |
var request_string = `${baseUrl}render_image/${storageFolder}/${sessionId}/Graph.html`; | |
window.open(request_string, "_blank"); | |
} | |
window.downloadFile = downloadFile; | |
function downloadFile(){ | |
downloadFiles(); | |
console.log(filename2); | |
var summfile = document.getElementById("summfile").checked; | |
var logfile = document.getElementById("logfile").checked; | |
var request1; | |
var request2; | |
console.log(summfile); | |
console.log(logfile); | |
if(summfile){ | |
if(filename1){ | |
request1 = `${baseUrl}download2/${storageFolder}/${sessionId}/summary.csv&${filename1}`; | |
window.open(request1, '_blank'); | |
} | |
else{ | |
request1 = `${baseUrl}download/${storageFolder}/${sessionId}/summary.csv`; | |
window.open(request1, '_blank'); | |
} | |
} | |
if(logfile){ | |
if(filename2){ | |
request2 = `${baseUrl}download2/${storageFolder}/${sessionId}/log.csv&${filename2}`; | |
window.open(request2, '_blank'); | |
} | |
else{ | |
request2 = `${baseUrl}download/${storageFolder}/${sessionId}/log.csv`; | |
window.open(request2, '_blank'); | |
} | |
} | |
} |