Solved Slot doesn't get triggered on HTTP reply
-
@Paul-Colby said in Slot doesn't get triggered on HTTP reply:
QNetworkAccessManager * networkManager = new QNetworkAccessManager(this);
connect(networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(onAPIResponse(QNetworkReply*))) ;Hi,
Thanks from the help from you both. I've tried correcting the code, but the signal still doesn't get triggered.std::string modApiPage = "https://api.faforever.com/data/mod?page[size]=1&filter=versions.uid=="+uid+"&include=versions&fields[modVersion]=downloadUrl"; /// Fetch download address from API using mod UID const QUrl url = QUrl(QString::fromStdString(modApiPage)); const QNetworkRequest request(url); QNetworkAccessManager * networkManager = new QNetworkAccessManager(this); connect(networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(onAPIResponse(QNetworkReply*))) ;
-
@rackover said in Slot doesn't get triggered on HTTP reply:
QNetworkAccessManager * networkManager = new QNetworkAccessManager(this);
Is this the one QNetworkAccessManager you're using for request?
Also check whether connect() actually succeeded. -
Yes, I believe this is the networkmanager i'm using. How can I check that ?
Connect doesn't return a bool nor a int, I'm not sure of how I should check it's working or not. At least it's not returning any errors. -
@rackover If the old style connect fails you will see a warning at runtime (in application output tab in QtCreator).
-
Then I guess it is not failing. There is no warning neither at runtime nor in IDE. Is there any other possibility I can explore ?
-
Hi,
You should also connect the error related signal.
-
Hi,
Thank you for your help, could you please expand a little bit ? I'm not sure of what you mean by connecting the "error related" signal. Isn't it what I'm actually doing ?
-
You only connect the finished signal. There's also sslErrors.
Do you also have OpenSSL properly installed on your system ?
-
I don't, but since it is not working with a classic HTTP address neither, I didn't look into SSL-stuff yet.
-
Then connect the error signal of the QNetworkReply you get back when doing the request.
-
I get no Network reply back when I'm doing the request. The whole point of this topic is that, the slot getting never triggered, the function that handles the QNetworkReply doesn't fire and therefore, I have no NetworkReply to work with nor to debug.
-
Might be a silly question but since I don't see it in any of it your code snippet, are you calling QNetworkAccessManager::get at some point ?
-
Ah, yeah, well it surely wasn't going to work without a get. How did I miss that.
Thank you.