50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| var historyJson = {};
 | |
| const maxIterations = 200;
 | |
| 
 | |
| function getHistoryData(){
 | |
|     $.getJSON(host + '/api/event/' + clientUUID, function(data){
 | |
|         historyJson = data;
 | |
|         displayHistory();
 | |
|     });
 | |
| }
 | |
| 
 | |
| function historyToHtml(){
 | |
|     var innerHTML = '';
 | |
|     var iterations = historyJson.length <= maxIterations ? historyJson.length : maxIterations;
 | |
|     for(let i=0; i<iterations; i++){
 | |
|         let style = i%2==0 ? ' class="even"' : '';
 | |
|         innerHTML += '<tr' + style + '>' +
 | |
|             '<td>' + parseTimeStamp(historyJson[i].dateTimeStamp) + '</td>' +
 | |
|             '<td>' + historyJson[i].httpMethod + '</td>' +
 | |
|             '<td>' + parseRequestBody(historyJson[i].requestBody, i) + '</td>' +
 | |
|             '<td> <button id="'+i+'" class="showHeaderButton" onClick="showHeadersHistory(this);"> Show headers </button> </td>' + 
 | |
|         '</tr>';
 | |
|     }
 | |
|     return innerHTML;
 | |
| }
 | |
| 
 | |
| function parseRequestBody(requestBody,i){
 | |
|     return requestBody.length == 0 ?
 | |
|      "No request body" :
 | |
|      '<button id="'+i+'" class="showRequestBodyButton" onClick="showRequestBody(this);"> Show request body </button>'
 | |
| }
 | |
| 
 | |
| function parseTimeStamp(timeStamp){
 | |
|     return timeStamp.substring(0,19).replace('T',' ');
 | |
| }
 | |
| 
 | |
| function parseHeaders(pos){
 | |
|     parsedJson = new Map();
 | |
|     headers = historyJson[pos].headers
 | |
|     Object.keys( headers ).forEach(
 | |
|         (jsonKey) => {
 | |
|             parsedJson.set( jsonKey , headers[jsonKey] );
 | |
|         }
 | |
|     )
 | |
|     return parsedJson;
 | |
| }
 | |
| 
 | |
| function displayHistory(){
 | |
|     $('#historyTable tbody').html(historyToHtml());
 | |
| }
 |