|  |  | @ -4,6 +4,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | #include <openssl/pem.h> |  |  |  | #include <openssl/pem.h> | 
			
		
	
		
		
			
				
					
					|  |  |  | #include <openssl/rsa.h> |  |  |  | #include <openssl/rsa.h> | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | #include <QApplication> | 
			
		
	
		
		
			
				
					
					|  |  |  | #include <QCryptographicHash> |  |  |  | #include <QCryptographicHash> | 
			
		
	
		
		
			
				
					
					|  |  |  | #include <QDateTime> |  |  |  | #include <QDateTime> | 
			
		
	
		
		
			
				
					
					|  |  |  | #include <QDebug> |  |  |  | #include <QDebug> | 
			
		
	
	
		
		
			
				
					|  |  | @ -62,8 +63,6 @@ QString create_jwt(const QJsonObject &payloads, int expiry) { | 
			
		
	
		
		
			
				
					
					|  |  |  | }  // namespace CommaApi
 |  |  |  | }  // namespace CommaApi
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | HttpRequest::HttpRequest(QObject *parent, bool create_jwt, int timeout) : create_jwt(create_jwt), QObject(parent) { |  |  |  | HttpRequest::HttpRequest(QObject *parent, bool create_jwt, int timeout) : create_jwt(create_jwt), QObject(parent) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   networkAccessManager = new QNetworkAccessManager(this); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   networkTimer = new QTimer(this); |  |  |  |   networkTimer = new QTimer(this); | 
			
		
	
		
		
			
				
					
					|  |  |  |   networkTimer->setSingleShot(true); |  |  |  |   networkTimer->setSingleShot(true); | 
			
		
	
		
		
			
				
					
					|  |  |  |   networkTimer->setInterval(timeout); |  |  |  |   networkTimer->setInterval(timeout); | 
			
		
	
	
		
		
			
				
					|  |  | @ -101,9 +100,9 @@ void HttpRequest::sendRequest(const QString &requestURL, const HttpRequest::Meth | 
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   if (method == HttpRequest::Method::GET) { |  |  |  |   if (method == HttpRequest::Method::GET) { | 
			
		
	
		
		
			
				
					
					|  |  |  |     reply = networkAccessManager->get(request); |  |  |  |     reply = nam()->get(request); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } else if (method == HttpRequest::Method::DELETE) { |  |  |  |   } else if (method == HttpRequest::Method::DELETE) { | 
			
		
	
		
		
			
				
					
					|  |  |  |     reply = networkAccessManager->deleteResource(request); |  |  |  |     reply = nam()->deleteResource(request); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   networkTimer->start(); |  |  |  |   networkTimer->start(); | 
			
		
	
	
		
		
			
				
					|  |  | @ -122,8 +121,8 @@ void HttpRequest::requestFinished() { | 
			
		
	
		
		
			
				
					
					|  |  |  |   } else { |  |  |  |   } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |     QString error; |  |  |  |     QString error; | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (reply->error() == QNetworkReply::OperationCanceledError) { |  |  |  |     if (reply->error() == QNetworkReply::OperationCanceledError) { | 
			
		
	
		
		
			
				
					
					|  |  |  |       networkAccessManager->clearAccessCache(); |  |  |  |       nam()->clearAccessCache(); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       networkAccessManager->clearConnectionCache(); |  |  |  |       nam()->clearConnectionCache(); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       error = "Request timed out"; |  |  |  |       error = "Request timed out"; | 
			
		
	
		
		
			
				
					
					|  |  |  |     } else { |  |  |  |     } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |       if (reply->error() == QNetworkReply::ContentAccessDenied || reply->error() == QNetworkReply::AuthenticationRequiredError) { |  |  |  |       if (reply->error() == QNetworkReply::ContentAccessDenied || reply->error() == QNetworkReply::AuthenticationRequiredError) { | 
			
		
	
	
		
		
			
				
					|  |  | @ -137,3 +136,8 @@ void HttpRequest::requestFinished() { | 
			
		
	
		
		
			
				
					
					|  |  |  |   reply->deleteLater(); |  |  |  |   reply->deleteLater(); | 
			
		
	
		
		
			
				
					
					|  |  |  |   reply = nullptr; |  |  |  |   reply = nullptr; | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | QNetworkAccessManager *HttpRequest::nam() { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   static QNetworkAccessManager *networkAccessManager = new QNetworkAccessManager(qApp); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   return networkAccessManager; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |