UNTESTED: fix for sending proper content type on config endpoint
This commit is contained in:
@@ -0,0 +1,12 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
// Source - https://stackoverflow.com/a
|
||||||
|
// Posted by Joseph, modified by community. See post 'Timeline' for change history
|
||||||
|
// Retrieved 2026-01-26, License - CC BY-SA 3.0
|
||||||
|
|
||||||
|
inline bool ends_with(std::string const & value, std::string const & ending)
|
||||||
|
{
|
||||||
|
if (ending.size() > value.size()) return false;
|
||||||
|
return std::equal(ending.rbegin(), ending.rend(), value.rbegin());
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
#include <communication/webserver.h>
|
#include <communication/webserver.h>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
#include "utils/string_utils.hpp"
|
||||||
|
|
||||||
static const char *TAG = "FileService";
|
static const char *TAG = "FileService";
|
||||||
|
|
||||||
@@ -107,7 +108,13 @@ esp_err_t getConfigFile(httpd_req_t *request) {
|
|||||||
}
|
}
|
||||||
String content = file.readString();
|
String content = file.readString();
|
||||||
file.close();
|
file.close();
|
||||||
httpd_resp_set_type(request, "application/json");
|
if (ends_with(path, ".pb")) {
|
||||||
|
httpd_resp_set_type(request, "application/x-protobuf");
|
||||||
|
} else if (ends_with(path, ".json")) {
|
||||||
|
httpd_resp_set_type(request, "application/json");
|
||||||
|
} else {
|
||||||
|
httpd_resp_set_type(request, "text/plain");
|
||||||
|
}
|
||||||
return httpd_resp_send(request, content.c_str(), content.length());
|
return httpd_resp_send(request, content.c_str(), content.length());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user