diff --git a/src/AsyncHTTPRequest.cpp b/src/AsyncHTTPRequest.cpp index 2978b0c..2d69f20 100644 --- a/src/AsyncHTTPRequest.cpp +++ b/src/AsyncHTTPRequest.cpp @@ -353,7 +353,7 @@ String AsyncHTTPRequest::responseText() { AHTTP_LOGDEBUG("responseText() no buffer"); - _HTTPcode = HTTPCODE_TOO_LESS_RAM; + _HTTPcode = HttpCode::TOO_LESS_RAM; _client->abort(); _unlock; @@ -493,7 +493,7 @@ bool AsyncHTTPRequest::_connect() { AHTTP_LOGDEBUG3("client.connect failed:", _URL.host, ",", _URL.port); - _HTTPcode = HTTPCODE_NOT_CONNECTED; + _HTTPcode = HttpCode::NOT_CONNECTED; _setReadyState(ReadyState::Done); return false; @@ -705,7 +705,7 @@ void AsyncHTTPRequest::_onPoll(AsyncClient* client) if (_timeout && (millis() - _lastActivity) > (_timeout * 1000)) { _client->close(); - _HTTPcode = HTTPCODE_TIMEOUT; + _HTTPcode = HttpCode::TIMEOUT; AHTTP_LOGDEBUG("_onPoll timeout"); } @@ -735,12 +735,12 @@ void AsyncHTTPRequest::_onDisconnect(AsyncClient* client) if (_readyState < ReadyState::Opened) { - _HTTPcode = HTTPCODE_NOT_CONNECTED; + _HTTPcode = HttpCode::NOT_CONNECTED; } else if (_HTTPcode > 0 && (_readyState < ReadyState::HdrsRecvd || (_contentRead + _response->available()) < _contentLength)) { - _HTTPcode = HTTPCODE_CONNECTION_LOST; + _HTTPcode = HttpCode::CONNECTION_LOST; } delete _client; diff --git a/src/AsyncHTTPRequest.h b/src/AsyncHTTPRequest.h index 90a0b51..5b72f2a 100644 --- a/src/AsyncHTTPRequest.h +++ b/src/AsyncHTTPRequest.h @@ -70,17 +70,43 @@ #define DEFAULT_RX_TIMEOUT 3 // Seconds for timeout -#define HTTPCODE_CONNECTION_REFUSED (-1) -#define HTTPCODE_SEND_HEADER_FAILED (-2) -#define HTTPCODE_SEND_PAYLOAD_FAILED (-3) -#define HTTPCODE_NOT_CONNECTED (-4) -#define HTTPCODE_CONNECTION_LOST (-5) -#define HTTPCODE_NO_STREAM (-6) -#define HTTPCODE_NO_HTTP_SERVER (-7) -#define HTTPCODE_TOO_LESS_RAM (-8) -#define HTTPCODE_ENCODING (-9) -#define HTTPCODE_STREAM_WRITE (-10) -#define HTTPCODE_TIMEOUT (-11) +namespace HttpCode +{ +enum +{ + CONNECTION_REFUSED = -1, + SEND_HEADER_FAILED = -2, + SEND_PAYLOAD_FAILED = -3, + NOT_CONNECTED = -4, + CONNECTION_LOST = -5, + NO_STREAM = -6, + NO_HTTP_SERVER = -7, + TOO_LESS_RAM = -8, + ENCODING = -9, + STREAM_WRITE = -10, + TIMEOUT = -11, +}; + +inline String toString(int code) +{ + switch (code) + { + case CONNECTION_REFUSED: return "CONNECTION_REFUSED"; + case SEND_HEADER_FAILED: return "SEND_HEADER_FAILED"; + case SEND_PAYLOAD_FAILED: return "SEND_PAYLOAD_FAILED"; + case NOT_CONNECTED: return "NOT_CONNECTED"; + case CONNECTION_LOST: return "CONNECTION_LOST"; + case NO_STREAM: return "NO_STREAM"; + case NO_HTTP_SERVER: return "NO_HTTP_SERVER"; + case TOO_LESS_RAM: return "TOO_LESS_RAM"; + case ENCODING: return "ENCODING"; + case STREAM_WRITE: return "STREAM_WRITE"; + case TIMEOUT: return "TIMEOUT"; + } + + return String{code}; +} +} enum class ReadyState {