def checkAuthorization(self, messageInfo, originalHeaders, checkUnauthorized): oldResponse = messageInfo.getResponse() message = makeMessage(self, messageInfo, True, True) requestResponse = makeRequest(self, messageInfo, message) newResponse = requestResponse.getResponse() analyzedResponse = self._helpers.analyzeResponse(newResponse) oldStatusCode = originalHeaders[0] newStatusCode = analyzedResponse.getHeaders()[0] oldContentLen = getResponseContentLength(self, oldResponse) newContentLen = getResponseContentLength(self, newResponse) # Check unauthorized request if checkUnauthorized: messageUnauthorized = makeMessage(self, messageInfo, True, False) requestResponseUnauthorized = makeRequest(self, messageInfo, messageUnauthorized) unauthorizedResponse = requestResponseUnauthorized.getResponse() analyzedResponseUnauthorized = self._helpers.analyzeResponse(unauthorizedResponse) statusCodeUnauthorized = analyzedResponseUnauthorized.getHeaders()[0] contentLenUnauthorized = getResponseContentLength(self, unauthorizedResponse) EDFilters = self.EDModel.toArray() impression = checkBypass(self, oldStatusCode,newStatusCode,oldContentLen,newContentLen,EDFilters,requestResponse,self.AndOrType.getSelectedItem()) if checkUnauthorized: EDFiltersUnauth = self.EDModelUnauth.toArray() impressionUnauthorized = checkBypass(self, oldStatusCode,statusCodeUnauthorized,oldContentLen,contentLenUnauthorized,EDFiltersUnauth,requestResponseUnauthorized,self.AndOrTypeUnauth.getSelectedItem()) self._lock.acquire() row = self._log.size() method = self._helpers.analyzeRequest(messageInfo.getRequest()).getMethod() if checkUnauthorized: self._log.add(LogEntry(self.currentRequestNumber,self._callbacks.saveBuffersToTempFiles(requestResponse), method, self._helpers.analyzeRequest(requestResponse).getUrl(),messageInfo,impression,self._callbacks.saveBuffersToTempFiles(requestResponseUnauthorized),impressionUnauthorized)) # same requests not include again. else: self._log.add(LogEntry(self.currentRequestNumber,self._callbacks.saveBuffersToTempFiles(requestResponse), method, self._helpers.analyzeRequest(requestResponse).getUrl(),messageInfo,impression,None,"Disabled")) # same requests not include again. SwingUtilities.invokeLater(UpdateTableEDT(self,"insert",row,row)) self.currentRequestNumber = self.currentRequestNumber + 1 self._lock.release()
def send_request_to_autorize(self, messageInfo): if messageInfo.getResponse() is None: message = makeMessage(self, messageInfo,False,False) requestResponse = makeRequest(self, messageInfo, message) checkAuthorization(self, requestResponse,self._helpers.analyzeResponse(requestResponse.getResponse()).getHeaders(),self.doUnauthorizedRequest.isSelected()) else: request = messageInfo.getRequest() response = messageInfo.getResponse() httpService = messageInfo.getHttpService() newHttpRequestResponse = IHttpRequestResponseImplementation(httpService,request,response) newHttpRequestResponsePersisted = self._callbacks.saveBuffersToTempFiles(newHttpRequestResponse) checkAuthorization(self, newHttpRequestResponsePersisted,self._helpers.analyzeResponse(messageInfo.getResponse()).getHeaders(),self.doUnauthorizedRequest.isSelected())