diff --git a/llmcore/RequestHandler.cpp b/llmcore/RequestHandler.cpp index 8b41a83..98067d3 100644 --- a/llmcore/RequestHandler.cpp +++ b/llmcore/RequestHandler.cpp @@ -27,7 +27,6 @@ namespace QodeAssist::LLMCore { RequestHandler::RequestHandler(QObject *parent) : RequestHandlerBase(parent) - , m_manager(new QNetworkAccessManager(this)) {} void RequestHandler::sendLLMRequest(const LLMConfig &config, const QJsonObject &request) @@ -38,11 +37,12 @@ void RequestHandler::sendLLMRequest(const LLMConfig &config, const QJsonObject & QString::fromUtf8( QJsonDocument(config.providerRequest).toJson(QJsonDocument::Indented)))); + QNetworkAccessManager *manager = new QNetworkAccessManager(); QNetworkRequest networkRequest(config.url); config.provider->prepareNetworkRequest(networkRequest); QNetworkReply *reply - = m_manager->post(networkRequest, QJsonDocument(config.providerRequest).toJson()); + = manager->post(networkRequest, QJsonDocument(config.providerRequest).toJson()); if (!reply) { LOG_MESSAGE("Error: Failed to create network reply"); return; @@ -54,6 +54,7 @@ void RequestHandler::sendLLMRequest(const LLMConfig &config, const QJsonObject & connect(reply, &QNetworkReply::readyRead, this, [this, reply, request, config]() { handleLLMResponse(reply, request, config); }); + connect(reply, &QNetworkReply::finished, this, [manager]() { manager->deleteLater(); }); connect(reply, &QNetworkReply::finished, this, [this, reply, requestId]() { reply->deleteLater(); diff --git a/llmcore/RequestHandler.hpp b/llmcore/RequestHandler.hpp index 3d5cab7..05a57d4 100644 --- a/llmcore/RequestHandler.hpp +++ b/llmcore/RequestHandler.hpp @@ -40,7 +40,6 @@ public: void handleLLMResponse(QNetworkReply *reply, const QJsonObject &request, const LLMConfig &config); private: - QNetworkAccessManager *m_manager; QMap m_activeRequests; QMap m_accumulatedResponses;