simplify
This commit is contained in:
parent
1f2cb6e021
commit
265e0562f8
5 changed files with 55 additions and 62 deletions
|
@ -75,17 +75,17 @@ namespace fw
|
|||
this->server->getServer().setRSACert(new BearSSL::X509List(cert), new BearSSL::PrivateKey(key));
|
||||
this->server->getServer().setCache(serverCache);
|
||||
#endif
|
||||
this->server->on("/firewall", HTTP_GET, std::bind(&API::get_firewall_rules_handler, this));
|
||||
this->server->on(UriRegex("/firewall/([0-9]+)"), HTTP_GET, std::bind(&API::get_firewall_rule_handler, this));
|
||||
this->server->on("/firewall", HTTP_POST, std::bind(&API::post_firewall_handler, this));
|
||||
this->server->on(UriRegex("/firewall/([0-9]+)"), HTTP_DELETE, std::bind(&API::delete_firewall_handler, this));
|
||||
this->server->on("/api/firewall/rules", HTTP_GET, std::bind(&API::get_firewall_rules_handler, this));
|
||||
this->server->on(UriRegex("/api/firewall/rules/([0-9]+)"), HTTP_GET, std::bind(&API::get_firewall_rule_handler, this));
|
||||
this->server->on("/api/firewall/rules", HTTP_POST, std::bind(&API::post_firewall_handler, this));
|
||||
this->server->on(UriRegex("/api/firewall/rules/([0-9]+)"), HTTP_DELETE, std::bind(&API::delete_firewall_handler, this));
|
||||
this->server->on("/api", HTTP_GET, std::bind(&API::get_endpoint_list_handler, this));
|
||||
this->server->onNotFound(std::bind(&API::not_found_handler, this));
|
||||
|
||||
add_endpoint_to_list("/firewall", "GET", "Get all Firewall Rules");
|
||||
add_endpoint_to_list("/firewall/1", "GET", "Get Firewall Rule by key");
|
||||
add_endpoint_to_list("/firewall", "POST", "Create Firewall Rule");
|
||||
add_endpoint_to_list("/firewall/1", "DELETE", "Delete Firewall Rule by key");
|
||||
add_endpoint_to_list("/api/firewall/rules", "GET", "Get all Firewall Rules");
|
||||
add_endpoint_to_list("/api/firewall/rules/<key>", "GET", "Get Firewall Rule by key");
|
||||
add_endpoint_to_list("/api/firewall/rules", "POST", "Create Firewall Rule");
|
||||
add_endpoint_to_list("/api/firewall/rules/<key>", "DELETE", "Delete Firewall Rule by key");
|
||||
}
|
||||
|
||||
void API::add_endpoint_to_list(const String uri, const char *method, const char *description)
|
||||
|
@ -152,13 +152,12 @@ namespace fw
|
|||
return;
|
||||
if (request_has_all_firewall_parameter())
|
||||
{
|
||||
firewall_rule_t *rule_ptr = firewall->add_rule_to_firewall(
|
||||
this->server->arg("source"),
|
||||
this->server->arg("destination"),
|
||||
this->server->arg("port_from"),
|
||||
this->server->arg("port_to"),
|
||||
this->server->arg("protocol"),
|
||||
this->server->arg("target"));
|
||||
String args[IPV4ADDRESS_LENGTH] = {};
|
||||
for (uint8_t i = 0; i < firewall_fields_amount; i++)
|
||||
{
|
||||
args[i] = this->server->arg(firewall_fields[i]);
|
||||
}
|
||||
firewall_rule_t *rule_ptr = firewall->add_rule_to_firewall(args);
|
||||
this->json_generic_response(this->construct_json_firewall_rule(rule_ptr), 200);
|
||||
}
|
||||
else
|
||||
|
@ -228,12 +227,11 @@ namespace fw
|
|||
{
|
||||
String serialized_string = "{";
|
||||
serialized_string += json_new_attribute("key", rule_ptr->key);
|
||||
serialized_string += json_new_attribute("source", rule_ptr->source);
|
||||
serialized_string += json_new_attribute("destination", rule_ptr->destination);
|
||||
serialized_string += json_new_attribute("port_from", rule_ptr->port_from);
|
||||
serialized_string += json_new_attribute("port_to", rule_ptr->port_to);
|
||||
serialized_string += json_new_attribute("protocol", protocol_to_string(rule_ptr->protocol));
|
||||
serialized_string += json_new_attribute("target", target_to_string(rule_ptr->target), true);
|
||||
serialized_string += json_new_attribute(firewall_fields[IP], rule_ptr->ip);
|
||||
serialized_string += json_new_attribute(firewall_fields[PORT_FROM], rule_ptr->port_from);
|
||||
serialized_string += json_new_attribute(firewall_fields[PORT_TO], rule_ptr->port_to);
|
||||
serialized_string += json_new_attribute(firewall_fields[PROTOCOL], protocol_to_string(rule_ptr->protocol));
|
||||
serialized_string += json_new_attribute(firewall_fields[TARGET], target_to_string(rule_ptr->target), true);
|
||||
serialized_string += "}";
|
||||
return serialized_string;
|
||||
}
|
||||
|
|
Reference in a new issue