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 <vector>
|
||||
#include <cstring>
|
||||
#include "utils/string_utils.hpp"
|
||||
|
||||
static const char *TAG = "FileService";
|
||||
|
||||
@@ -107,7 +108,13 @@ esp_err_t getConfigFile(httpd_req_t *request) {
|
||||
}
|
||||
String content = file.readString();
|
||||
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());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user