Added error logging for ws send, and naming for fs ws
This commit is contained in:
committed by
Rune Harlyk
parent
4fa3939209
commit
6b96d0deba
@@ -34,7 +34,12 @@ void Websocket::send(const uint8_t* data, size_t len, int cid) {
|
|||||||
if (cid >= 0) {
|
if (cid >= 0) {
|
||||||
auto* client = socket_.getClient(cid);
|
auto* client = socket_.getClient(cid);
|
||||||
if (client) {
|
if (client) {
|
||||||
client->sendMessage(HTTPD_WS_TYPE_BINARY, data, len);
|
esp_err_t err = client->sendMessage(HTTPD_WS_TYPE_BINARY, data, len);
|
||||||
|
if (err != ESP_OK) {
|
||||||
|
ESP_LOGE(TAG, "Failed to send message to client %d: %s (len=%u)", cid, esp_err_to_name(err), len);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ESP_LOGW(TAG, "Client %d not found for send", cid);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
socket_.sendAll(HTTPD_WS_TYPE_BINARY, data, len);
|
socket_.sendAll(HTTPD_WS_TYPE_BINARY, data, len);
|
||||||
|
|||||||
+15
-12
@@ -291,17 +291,17 @@ socket_message_FSUploadStartResponse FileSystemHandler::handleUploadStart(const
|
|||||||
}
|
}
|
||||||
|
|
||||||
socket_message_FSUploadChunkResponse FileSystemHandler::handleUploadChunk(const socket_message_FSUploadChunkRequest& req) {
|
socket_message_FSUploadChunkResponse FileSystemHandler::handleUploadChunk(const socket_message_FSUploadChunkRequest& req) {
|
||||||
socket_message_FSUploadChunkResponse response = socket_message_FSUploadChunkResponse_init_zero;
|
socket_message_FSUploadChunkResponse fs_up_response = socket_message_FSUploadChunkResponse_init_zero;
|
||||||
|
|
||||||
std::string transferId(req.transfer_id);
|
std::string transferId(req.transfer_id);
|
||||||
strncpy(response.transfer_id, transferId.c_str(), sizeof(response.transfer_id) - 1);
|
strncpy(fs_up_response.transfer_id, transferId.c_str(), sizeof(fs_up_response.transfer_id) - 1);
|
||||||
response.chunk_index = req.chunk_index;
|
fs_up_response.chunk_index = req.chunk_index;
|
||||||
|
|
||||||
auto it = transfers_.find(transferId);
|
auto it = transfers_.find(transferId);
|
||||||
if (it == transfers_.end()) {
|
if (it == transfers_.end()) {
|
||||||
response.success = false;
|
fs_up_response.success = false;
|
||||||
strncpy(response.error, "Invalid transfer ID", sizeof(response.error) - 1);
|
strncpy(fs_up_response.error, "Invalid transfer ID", sizeof(fs_up_response.error) - 1);
|
||||||
return response;
|
return fs_up_response;
|
||||||
}
|
}
|
||||||
|
|
||||||
TransferState& state = it->second;
|
TransferState& state = it->second;
|
||||||
@@ -310,16 +310,19 @@ socket_message_FSUploadChunkResponse FileSystemHandler::handleUploadChunk(const
|
|||||||
// Write chunk data
|
// Write chunk data
|
||||||
size_t bytesWritten = state.file.write(req.data.bytes, req.data.size);
|
size_t bytesWritten = state.file.write(req.data.bytes, req.data.size);
|
||||||
if (bytesWritten != req.data.size) {
|
if (bytesWritten != req.data.size) {
|
||||||
response.success = false;
|
fs_up_response.success = false;
|
||||||
strncpy(response.error, "Failed to write chunk", sizeof(response.error) - 1);
|
strncpy(fs_up_response.error, "Failed to write chunk", sizeof(fs_up_response.error) - 1);
|
||||||
state.file.close();
|
state.file.close();
|
||||||
transfers_.erase(it);
|
transfers_.erase(it);
|
||||||
return response;
|
return fs_up_response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Flush to ensure data is written
|
||||||
|
state.file.flush();
|
||||||
|
|
||||||
state.chunksProcessed++;
|
state.chunksProcessed++;
|
||||||
response.success = true;
|
fs_up_response.success = true;
|
||||||
response.transfer_complete = req.is_last;
|
fs_up_response.transfer_complete = req.is_last;
|
||||||
|
|
||||||
ESP_LOGI(TAG, "Upload chunk %u/%u: %u bytes", state.chunksProcessed, state.totalChunks, bytesWritten);
|
ESP_LOGI(TAG, "Upload chunk %u/%u: %u bytes", state.chunksProcessed, state.totalChunks, bytesWritten);
|
||||||
|
|
||||||
@@ -330,7 +333,7 @@ socket_message_FSUploadChunkResponse FileSystemHandler::handleUploadChunk(const
|
|||||||
ESP_LOGI(TAG, "Upload completed: %s", state.path.c_str());
|
ESP_LOGI(TAG, "Upload completed: %s", state.path.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
return response;
|
return fs_up_response;
|
||||||
}
|
}
|
||||||
|
|
||||||
socket_message_FSCancelTransferResponse FileSystemHandler::handleCancelTransfer(const socket_message_FSCancelTransferRequest& req) {
|
socket_message_FSCancelTransferResponse FileSystemHandler::handleCancelTransfer(const socket_message_FSCancelTransferRequest& req) {
|
||||||
|
|||||||
Reference in New Issue
Block a user