mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-02-18 10:53:17 +00:00
Added new calls
This commit is contained in:
parent
e66033c1c6
commit
7e6b6d5463
@ -20,10 +20,24 @@ class Development final : public Service {
|
|||||||
kernel::SystemEventSubscription networkDisconnectEventSubscription = 0;
|
kernel::SystemEventSubscription networkDisconnectEventSubscription = 0;
|
||||||
std::string deviceResponse;
|
std::string deviceResponse;
|
||||||
|
|
||||||
httpd_uri_t getDeviceEndpoint = {
|
httpd_uri_t handleGetInfoEndpoint = {
|
||||||
.uri = "/device",
|
.uri = "/info",
|
||||||
.method = HTTP_GET,
|
.method = HTTP_GET,
|
||||||
.handler = getDevice,
|
.handler = handleGetInfo,
|
||||||
|
.user_ctx = this
|
||||||
|
};
|
||||||
|
|
||||||
|
httpd_uri_t appRunEndpoint = {
|
||||||
|
.uri = "/app/run",
|
||||||
|
.method = HTTP_POST,
|
||||||
|
.handler = handleAppRun,
|
||||||
|
.user_ctx = this
|
||||||
|
};
|
||||||
|
|
||||||
|
httpd_uri_t appInstallEndpoint = {
|
||||||
|
.uri = "/app/install",
|
||||||
|
.method = HTTP_POST,
|
||||||
|
.handler = handleAppInstall,
|
||||||
.user_ctx = this
|
.user_ctx = this
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -33,7 +47,9 @@ class Development final : public Service {
|
|||||||
void startServer();
|
void startServer();
|
||||||
void stopServer();
|
void stopServer();
|
||||||
|
|
||||||
static esp_err_t getDevice(httpd_req_t* request);
|
static esp_err_t handleGetInfo(httpd_req_t* request);
|
||||||
|
static esp_err_t handleAppRun(httpd_req_t* request);
|
||||||
|
static esp_err_t handleAppInstall(httpd_req_t* request);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|||||||
@ -16,7 +16,6 @@ extern const ServiceManifest manifest;
|
|||||||
|
|
||||||
constexpr const char* TAG = "DevService";
|
constexpr const char* TAG = "DevService";
|
||||||
|
|
||||||
|
|
||||||
static char* rest_read_buffer(httpd_req_t* request) {
|
static char* rest_read_buffer(httpd_req_t* request) {
|
||||||
static char buffer[1024];
|
static char buffer[1024];
|
||||||
int contentLength = request->content_len;
|
int contentLength = request->content_len;
|
||||||
@ -84,8 +83,6 @@ bool Development::isEnabled() const {
|
|||||||
|
|
||||||
// region Enable/disable
|
// region Enable/disable
|
||||||
|
|
||||||
// region Handlers
|
|
||||||
|
|
||||||
void Development::startServer() {
|
void Development::startServer() {
|
||||||
auto lock = mutex.asScopedLock();
|
auto lock = mutex.asScopedLock();
|
||||||
lock.lock();
|
lock.lock();
|
||||||
@ -99,7 +96,9 @@ void Development::startServer() {
|
|||||||
|
|
||||||
std::stringstream stream;
|
std::stringstream stream;
|
||||||
stream << "{";
|
stream << "{";
|
||||||
stream << "\"cpuFamily\" : \"" << CONFIG_IDF_TARGET << "\"";
|
stream << "\"cpuFamily\":\"" << CONFIG_IDF_TARGET << "\", ";
|
||||||
|
stream << "\"osVersion\":\"" << TT_VERSION << "\", ";
|
||||||
|
stream << "\"protocolVersion\":\"1.0.0\"";
|
||||||
stream << "}";
|
stream << "}";
|
||||||
deviceResponse = stream.str();
|
deviceResponse = stream.str();
|
||||||
|
|
||||||
@ -109,7 +108,9 @@ void Development::startServer() {
|
|||||||
config.uri_match_fn = httpd_uri_match_wildcard;
|
config.uri_match_fn = httpd_uri_match_wildcard;
|
||||||
|
|
||||||
if (httpd_start(&server, &config) == ESP_OK) {
|
if (httpd_start(&server, &config) == ESP_OK) {
|
||||||
httpd_register_uri_handler(server, &getDeviceEndpoint);
|
httpd_register_uri_handler(server, &handleGetInfoEndpoint);
|
||||||
|
httpd_register_uri_handler(server, &appRunEndpoint);
|
||||||
|
httpd_register_uri_handler(server, &appInstallEndpoint);
|
||||||
TT_LOG_I(TAG, "Started on port %d", config.server_port);
|
TT_LOG_I(TAG, "Started on port %d", config.server_port);
|
||||||
} else {
|
} else {
|
||||||
TT_LOG_E(TAG, "Failed to start");
|
TT_LOG_E(TAG, "Failed to start");
|
||||||
@ -156,11 +157,9 @@ void Development::onNetworkDisconnected() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// endregion
|
|
||||||
|
|
||||||
// region endpoints
|
// region endpoints
|
||||||
|
|
||||||
esp_err_t Development::getDevice(httpd_req_t* request) {
|
esp_err_t Development::handleGetInfo(httpd_req_t* request) {
|
||||||
if (httpd_resp_set_type(request, "application/json") != ESP_OK) {
|
if (httpd_resp_set_type(request, "application/json") != ESP_OK) {
|
||||||
TT_LOG_W(TAG, "Failed to send header");
|
TT_LOG_W(TAG, "Failed to send header");
|
||||||
return ESP_FAIL;
|
return ESP_FAIL;
|
||||||
@ -173,10 +172,24 @@ esp_err_t Development::getDevice(httpd_req_t* request) {
|
|||||||
return ESP_FAIL;
|
return ESP_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
TT_LOG_I(TAG, "[200] /device from");
|
TT_LOG_I(TAG, "[200] /device");
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
esp_err_t Development::handleAppRun(httpd_req_t* request) {
|
||||||
|
httpd_resp_send(request, nullptr, 0);
|
||||||
|
TT_LOG_I(TAG, "[200] /app/run");
|
||||||
|
return ESP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
esp_err_t Development::handleAppInstall(httpd_req_t* request) {
|
||||||
|
httpd_resp_send(request, nullptr, 0);
|
||||||
|
TT_LOG_I(TAG, "[200] /app/install");
|
||||||
|
return ESP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
// endregion
|
||||||
|
|
||||||
std::shared_ptr<Development> findService() {
|
std::shared_ptr<Development> findService() {
|
||||||
return std::static_pointer_cast<Development>(
|
return std::static_pointer_cast<Development>(
|
||||||
findServiceById(manifest.id)
|
findServiceById(manifest.id)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user