diff --git a/source_modules/spectran_http_source/src/main.cpp b/source_modules/spectran_http_source/src/main.cpp index 8ec62131..b9b7212f 100644 --- a/source_modules/spectran_http_source/src/main.cpp +++ b/source_modules/spectran_http_source/src/main.cpp @@ -144,9 +144,7 @@ private: _this->tryConnect(); } else if (connected && SmGui::Button("Disconnect##spectran_http_source")) { - _this->client->onCenterFrequencyChanged.unbind(_this->onFreqChangedId); - _this->client->onCenterFrequencyChanged.unbind(_this->onSamplerateChangedId); - _this->client->close(); + _this->disconnect(); } if (_this->running) { style::endDisabled(); } @@ -173,6 +171,12 @@ private: } } + void disconnect() { + client->onCenterFrequencyChanged.unbind(onFreqChangedId); + client->onSamplerateChanged.unbind(onSamplerateChangedId); + client->close(); + } + void onFreqChanged(double newFreq) { if (lastReportedFreq == newFreq) { return; } lastReportedFreq = newFreq; diff --git a/source_modules/spectran_http_source/src/spectran_http_client.cpp b/source_modules/spectran_http_source/src/spectran_http_client.cpp index 3b51f2d0..323336ad 100644 --- a/source_modules/spectran_http_source/src/spectran_http_client.cpp +++ b/source_modules/spectran_http_source/src/spectran_http_client.cpp @@ -11,12 +11,15 @@ SpectranHTTPClient::SpectranHTTPClient(std::string host, int port, dsp::streamsendstr(data); + + // Receive response net::http::ResponseHeader rshdr; controlHttp.recvResponseHeader(rshdr, 5000); - flog::debug("Response: {}", rshdr.getStatusString()); + // Log error if there is one + if (rshdr.getStatusCode() < 200 || rshdr.getStatusCode() >= 300) { + flog::debug("Response: {}", rshdr.getStatusString()); + } } void SpectranHTTPClient::worker() {