#include "Utils.hpp" namespace fw { String protocol_to_string(firewall_protocol_t &protocol) { switch (protocol) { case PROTOCOL_TCP: return "TCP"; case PROTOCOL_UDP: return "UDP"; default: return "ALL"; } } firewall_protocol_t string_to_protocol(String &protocol) { if (protocol.equals("TCP")) return PROTOCOL_TCP; else if (protocol.equals("UDP")) return PROTOCOL_UDP; else return PROTOCOL_ALL; } String target_to_string(firewall_target_t &target) { switch (target) { case TARGET_REJECT: return "REJECT"; case TARGET_DROP: return "DROP"; default: return "ACCEPT"; } } firewall_target_t string_to_target(String &target) { if (target.equals("REJECT")) return TARGET_REJECT; else if (target.equals("DROP")) return TARGET_DROP; else return TARGET_ACCEPT; } String response_code_to_string(const uint16_t response_code) { switch (response_code) { case 100: return F("Continue"); case 101: return F("Switching Protocols"); case 200: return F("OK"); case 201: return F("Created"); case 202: return F("Accepted"); case 203: return F("Non-Authoritative Information"); case 204: return F("No Content"); case 205: return F("Reset Content"); case 206: return F("Partial Content"); case 300: return F("Multiple Choices"); case 301: return F("Moved Permanently"); case 302: return F("Found"); case 303: return F("See Other"); case 304: return F("Not Modified"); case 305: return F("Use Proxy"); case 307: return F("Temporary Redirect"); case 400: return F("Bad Request"); case 401: return F("Unauthorized"); case 402: return F("Payment Required"); case 403: return F("Forbidden"); case 404: return F("Not Found"); case 405: return F("Method Not Allowed"); case 406: return F("Not Acceptable"); case 407: return F("Proxy Authentication Required"); case 408: return F("Request Time-out"); case 409: return F("Conflict"); case 410: return F("Gone"); case 411: return F("Length Required"); case 412: return F("Precondition Failed"); case 413: return F("Request Entity Too Large"); case 414: return F("Request-URI Too Large"); case 415: return F("Unsupported Media Type"); case 416: return F("Requested range not satisfiable"); case 417: return F("Expectation Failed"); case 500: return F("Internal Server Error"); case 501: return F("Not Implemented"); case 502: return F("Bad Gateway"); case 503: return F("Service Unavailable"); case 504: return F("Gateway Time-out"); case 505: return F("HTTP Version not supported"); default: return F(""); } } void endless_loop() { Serial.printf("Something went wrong. Running endless loop until fixed..."); while (true) delay(500); } }