mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-19 23:22:16 +03:00
Further const correctness / String by reference passing cleanups (#6571)
There are actually several instances where we pass in read-only parameters as pass-by-value, where in the case of String() that is inefficient as it involves copy-constructor/temp string creations. We can avoid that, similarly to single character string concatenations done via string literals instead of char literals.
This commit is contained in:
parent
ba971fe7e9
commit
8bc5a10d6d
@ -231,7 +231,7 @@ void ArduinoOTAClass::_onRx(){
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
String challenge = _password + ":" + String(_nonce) + ":" + cnonce;
|
String challenge = _password + ':' + String(_nonce) + ':' + cnonce;
|
||||||
MD5Builder _challengemd5;
|
MD5Builder _challengemd5;
|
||||||
_challengemd5.begin();
|
_challengemd5.begin();
|
||||||
_challengemd5.add(challenge);
|
_challengemd5.add(challenge);
|
||||||
|
@ -150,7 +150,7 @@ void HTTPClient::clear()
|
|||||||
* @param https bool
|
* @param https bool
|
||||||
* @return success bool
|
* @return success bool
|
||||||
*/
|
*/
|
||||||
bool HTTPClient::begin(WiFiClient &client, String url) {
|
bool HTTPClient::begin(WiFiClient &client, const String& url) {
|
||||||
#if HTTPCLIENT_1_1_COMPATIBLE
|
#if HTTPCLIENT_1_1_COMPATIBLE
|
||||||
if(_tcpDeprecated) {
|
if(_tcpDeprecated) {
|
||||||
DEBUG_HTTPCLIENT("[HTTP-Client][begin] mix up of new and deprecated api\n");
|
DEBUG_HTTPCLIENT("[HTTP-Client][begin] mix up of new and deprecated api\n");
|
||||||
@ -188,7 +188,7 @@ bool HTTPClient::begin(WiFiClient &client, String url) {
|
|||||||
* @param https bool
|
* @param https bool
|
||||||
* @return success bool
|
* @return success bool
|
||||||
*/
|
*/
|
||||||
bool HTTPClient::begin(WiFiClient &client, String host, uint16_t port, String uri, bool https)
|
bool HTTPClient::begin(WiFiClient &client, const String& host, uint16_t port, const String& uri, bool https)
|
||||||
{
|
{
|
||||||
#if HTTPCLIENT_1_1_COMPATIBLE
|
#if HTTPCLIENT_1_1_COMPATIBLE
|
||||||
if(_tcpDeprecated) {
|
if(_tcpDeprecated) {
|
||||||
@ -281,8 +281,10 @@ bool HTTPClient::begin(String url)
|
|||||||
}
|
}
|
||||||
#endif // HTTPCLIENT_1_1_COMPATIBLE
|
#endif // HTTPCLIENT_1_1_COMPATIBLE
|
||||||
|
|
||||||
bool HTTPClient::beginInternal(String url, const char* expectedProtocol)
|
bool HTTPClient::beginInternal(const String& __url, const char* expectedProtocol)
|
||||||
{
|
{
|
||||||
|
String url(__url);
|
||||||
|
|
||||||
DEBUG_HTTPCLIENT("[HTTP-Client][begin] url: %s\n", url.c_str());
|
DEBUG_HTTPCLIENT("[HTTP-Client][begin] url: %s\n", url.c_str());
|
||||||
clear();
|
clear();
|
||||||
|
|
||||||
@ -500,7 +502,7 @@ void HTTPClient::setAuthorization(const char * user, const char * password)
|
|||||||
{
|
{
|
||||||
if(user && password) {
|
if(user && password) {
|
||||||
String auth = user;
|
String auth = user;
|
||||||
auth += ":";
|
auth += ':';
|
||||||
auth += password;
|
auth += password;
|
||||||
_base64Authorization = base64::encode(auth);
|
_base64Authorization = base64::encode(auth);
|
||||||
}
|
}
|
||||||
@ -533,7 +535,7 @@ void HTTPClient::setTimeout(uint16_t timeout)
|
|||||||
* set the URL to a new value. Handy for following redirects.
|
* set the URL to a new value. Handy for following redirects.
|
||||||
* @param url
|
* @param url
|
||||||
*/
|
*/
|
||||||
bool HTTPClient::setURL(String url)
|
bool HTTPClient::setURL(const String& url)
|
||||||
{
|
{
|
||||||
// if the new location is only a path then only update the URI
|
// if the new location is only a path then only update the URI
|
||||||
if (url && url[0] == '/') {
|
if (url && url[0] == '/') {
|
||||||
@ -542,7 +544,7 @@ bool HTTPClient::setURL(String url)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!url.startsWith(_protocol + ":")) {
|
if (!url.startsWith(_protocol + ':')) {
|
||||||
DEBUG_HTTPCLIENT("[HTTP-Client][setURL] new URL not the same protocol, expected '%s', URL: '%s'\n", _protocol.c_str(), url.c_str());
|
DEBUG_HTTPCLIENT("[HTTP-Client][setURL] new URL not the same protocol, expected '%s', URL: '%s'\n", _protocol.c_str(), url.c_str());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -587,16 +589,16 @@ int HTTPClient::GET()
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* sends a post request to the server
|
* sends a post request to the server
|
||||||
* @param payload uint8_t *
|
* @param payload const uint8_t *
|
||||||
* @param size size_t
|
* @param size size_t
|
||||||
* @return http code
|
* @return http code
|
||||||
*/
|
*/
|
||||||
int HTTPClient::POST(uint8_t * payload, size_t size)
|
int HTTPClient::POST(const uint8_t* payload, size_t size)
|
||||||
{
|
{
|
||||||
return sendRequest("POST", payload, size);
|
return sendRequest("POST", payload, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
int HTTPClient::POST(String payload)
|
int HTTPClient::POST(const String& payload)
|
||||||
{
|
{
|
||||||
return POST((uint8_t *) payload.c_str(), payload.length());
|
return POST((uint8_t *) payload.c_str(), payload.length());
|
||||||
}
|
}
|
||||||
@ -607,26 +609,26 @@ int HTTPClient::POST(String payload)
|
|||||||
* @param size size_t
|
* @param size size_t
|
||||||
* @return http code
|
* @return http code
|
||||||
*/
|
*/
|
||||||
int HTTPClient::PUT(uint8_t * payload, size_t size) {
|
int HTTPClient::PUT(const uint8_t* payload, size_t size) {
|
||||||
return sendRequest("PUT", payload, size);
|
return sendRequest("PUT", payload, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
int HTTPClient::PUT(String payload) {
|
int HTTPClient::PUT(const String& payload) {
|
||||||
return PUT((uint8_t *) payload.c_str(), payload.length());
|
return PUT((const uint8_t *) payload.c_str(), payload.length());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sends a patch request to the server
|
* sends a patch request to the server
|
||||||
* @param payload uint8_t *
|
* @param payload const uint8_t *
|
||||||
* @param size size_t
|
* @param size size_t
|
||||||
* @return http code
|
* @return http code
|
||||||
*/
|
*/
|
||||||
int HTTPClient::PATCH(uint8_t * payload, size_t size) {
|
int HTTPClient::PATCH(const uint8_t * payload, size_t size) {
|
||||||
return sendRequest("PATCH", payload, size);
|
return sendRequest("PATCH", payload, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
int HTTPClient::PATCH(String payload) {
|
int HTTPClient::PATCH(const String& payload) {
|
||||||
return PATCH((uint8_t *) payload.c_str(), payload.length());
|
return PATCH((const uint8_t *) payload.c_str(), payload.length());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -635,19 +637,19 @@ int HTTPClient::PATCH(String payload) {
|
|||||||
* @param payload String data for the message body
|
* @param payload String data for the message body
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
int HTTPClient::sendRequest(const char * type, String payload)
|
int HTTPClient::sendRequest(const char * type, const String& payload)
|
||||||
{
|
{
|
||||||
return sendRequest(type, (uint8_t *) payload.c_str(), payload.length());
|
return sendRequest(type, (const uint8_t *) payload.c_str(), payload.length());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sendRequest
|
* sendRequest
|
||||||
* @param type const char * "GET", "POST", ....
|
* @param type const char * "GET", "POST", ....
|
||||||
* @param payload uint8_t * data for the message body if null not send
|
* @param payload const uint8_t * data for the message body if null not send
|
||||||
* @param size size_t size for the message body if 0 not send
|
* @param size size_t size for the message body if 0 not send
|
||||||
* @return -1 if no info or > 0 when Content-Length is set by server
|
* @return -1 if no info or > 0 when Content-Length is set by server
|
||||||
*/
|
*/
|
||||||
int HTTPClient::sendRequest(const char * type, uint8_t * payload, size_t size)
|
int HTTPClient::sendRequest(const char * type, const uint8_t * payload, size_t size)
|
||||||
{
|
{
|
||||||
bool redirect = false;
|
bool redirect = false;
|
||||||
int code = 0;
|
int code = 0;
|
||||||
@ -1212,12 +1214,12 @@ bool HTTPClient::sendHeader(const char * type)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
String header = String(type) + " " + (_uri.length() ? _uri : F("/")) + F(" HTTP/1.");
|
String header = String(type) + ' ' + (_uri.length() ? _uri : F("/")) + F(" HTTP/1.");
|
||||||
|
|
||||||
if(_useHTTP10) {
|
if(_useHTTP10) {
|
||||||
header += "0";
|
header += '0';
|
||||||
} else {
|
} else {
|
||||||
header += "1";
|
header += '1';
|
||||||
}
|
}
|
||||||
|
|
||||||
header += String(F("\r\nHost: ")) + _host;
|
header += String(F("\r\nHost: ")) + _host;
|
||||||
@ -1316,7 +1318,8 @@ int HTTPClient::handleHeaderResponse()
|
|||||||
if(_currentHeaders[i].key.equalsIgnoreCase(headerName)) {
|
if(_currentHeaders[i].key.equalsIgnoreCase(headerName)) {
|
||||||
if (_currentHeaders[i].value != "") {
|
if (_currentHeaders[i].value != "") {
|
||||||
// Existing value, append this one with a comma
|
// Existing value, append this one with a comma
|
||||||
_currentHeaders[i].value += "," + headerValue;
|
_currentHeaders[i].value += ',';
|
||||||
|
_currentHeaders[i].value += headerValue;
|
||||||
} else {
|
} else {
|
||||||
_currentHeaders[i].value = headerValue;
|
_currentHeaders[i].value = headerValue;
|
||||||
}
|
}
|
||||||
|
@ -147,8 +147,8 @@ public:
|
|||||||
* Since both begin() functions take a reference to client as a parameter, you need to
|
* Since both begin() functions take a reference to client as a parameter, you need to
|
||||||
* ensure the client object lives the entire time of the HTTPClient
|
* ensure the client object lives the entire time of the HTTPClient
|
||||||
*/
|
*/
|
||||||
bool begin(WiFiClient &client, String url);
|
bool begin(WiFiClient &client, const String& url);
|
||||||
bool begin(WiFiClient &client, String host, uint16_t port, String uri = "/", bool https = false);
|
bool begin(WiFiClient &client, const String& host, uint16_t port, const String& uri = "/", bool https = false);
|
||||||
|
|
||||||
#if HTTPCLIENT_1_1_COMPATIBLE
|
#if HTTPCLIENT_1_1_COMPATIBLE
|
||||||
// Plain HTTP connection, unencrypted
|
// Plain HTTP connection, unencrypted
|
||||||
@ -175,20 +175,20 @@ public:
|
|||||||
void setTimeout(uint16_t timeout);
|
void setTimeout(uint16_t timeout);
|
||||||
void setFollowRedirects(bool follow);
|
void setFollowRedirects(bool follow);
|
||||||
void setRedirectLimit(uint16_t limit); // max redirects to follow for a single request
|
void setRedirectLimit(uint16_t limit); // max redirects to follow for a single request
|
||||||
bool setURL(String url); // handy for handling redirects
|
bool setURL(const String& url); // handy for handling redirects
|
||||||
void useHTTP10(bool usehttp10 = true);
|
void useHTTP10(bool usehttp10 = true);
|
||||||
|
|
||||||
/// request handling
|
/// request handling
|
||||||
int GET();
|
int GET();
|
||||||
int POST(uint8_t * payload, size_t size);
|
int POST(const uint8_t* payload, size_t size);
|
||||||
int POST(String payload);
|
int POST(const String& payload);
|
||||||
int PUT(uint8_t * payload, size_t size);
|
int PUT(const uint8_t* payload, size_t size);
|
||||||
int PUT(String payload);
|
int PUT(const String& payload);
|
||||||
int PATCH(uint8_t * payload, size_t size);
|
int PATCH(const uint8_t* payload, size_t size);
|
||||||
int PATCH(String payload);
|
int PATCH(const String& payload);
|
||||||
int sendRequest(const char * type, String payload);
|
int sendRequest(const char* type, const String& payload);
|
||||||
int sendRequest(const char * type, uint8_t * payload = NULL, size_t size = 0);
|
int sendRequest(const char* type, const uint8_t* payload = NULL, size_t size = 0);
|
||||||
int sendRequest(const char * type, Stream * stream, size_t size = 0);
|
int sendRequest(const char* type, Stream * stream, size_t size = 0);
|
||||||
|
|
||||||
void addHeader(const String& name, const String& value, bool first = false, bool replace = true);
|
void addHeader(const String& name, const String& value, bool first = false, bool replace = true);
|
||||||
|
|
||||||
@ -216,7 +216,7 @@ protected:
|
|||||||
String value;
|
String value;
|
||||||
};
|
};
|
||||||
|
|
||||||
bool beginInternal(String url, const char* expectedProtocol);
|
bool beginInternal(const String& url, const char* expectedProtocol);
|
||||||
void disconnect(bool preserveClient = false);
|
void disconnect(bool preserveClient = false);
|
||||||
void clear();
|
void clear();
|
||||||
int returnError(int error);
|
int returnError(int error);
|
||||||
|
@ -252,11 +252,11 @@ void ESP8266WebServerTemplate<ServerType>::requestAuthentication(HTTPAuthMethod
|
|||||||
_srealm = String(realm);
|
_srealm = String(realm);
|
||||||
}
|
}
|
||||||
if(mode == BASIC_AUTH) {
|
if(mode == BASIC_AUTH) {
|
||||||
sendHeader(String(FPSTR(WWW_Authenticate)), String(F("Basic realm=\"")) + _srealm + String(F("\"")));
|
sendHeader(String(FPSTR(WWW_Authenticate)), String(F("Basic realm=\"")) + _srealm + String('\"'));
|
||||||
} else {
|
} else {
|
||||||
_snonce=_getRandomHexString();
|
_snonce=_getRandomHexString();
|
||||||
_sopaque=_getRandomHexString();
|
_sopaque=_getRandomHexString();
|
||||||
sendHeader(String(FPSTR(WWW_Authenticate)), String(F("Digest realm=\"")) +_srealm + String(F("\", qop=\"auth\", nonce=\"")) + _snonce + String(F("\", opaque=\"")) + _sopaque + String(F("\"")));
|
sendHeader(String(FPSTR(WWW_Authenticate)), String(F("Digest realm=\"")) +_srealm + String(F("\", qop=\"auth\", nonce=\"")) + _snonce + String(F("\", opaque=\"")) + _sopaque + String('\"'));
|
||||||
}
|
}
|
||||||
using namespace mime;
|
using namespace mime;
|
||||||
send(401, String(FPSTR(mimeTable[html].mimeType)), authFailMsg);
|
send(401, String(FPSTR(mimeTable[html].mimeType)), authFailMsg);
|
||||||
@ -524,13 +524,13 @@ String ESP8266WebServerTemplate<ServerType>::credentialHash(const String& userna
|
|||||||
{
|
{
|
||||||
MD5Builder md5;
|
MD5Builder md5;
|
||||||
md5.begin();
|
md5.begin();
|
||||||
md5.add(username + ":" + realm + ":" + password); // md5 of the user:realm:password
|
md5.add(username + ':' + realm + ':' + password); // md5 of the user:realm:password
|
||||||
md5.calculate();
|
md5.calculate();
|
||||||
return md5.toString();
|
return md5.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename ServerType>
|
template <typename ServerType>
|
||||||
void ESP8266WebServerTemplate<ServerType>::_streamFileCore(const size_t fileSize, const String & fileName, const String & contentType)
|
void ESP8266WebServerTemplate<ServerType>::_streamFileCore(const size_t fileSize, const String &fileName, const String &contentType)
|
||||||
{
|
{
|
||||||
using namespace mime;
|
using namespace mime;
|
||||||
setContentLength(fileSize);
|
setContentLength(fileSize);
|
||||||
@ -544,7 +544,7 @@ void ESP8266WebServerTemplate<ServerType>::_streamFileCore(const size_t fileSize
|
|||||||
|
|
||||||
|
|
||||||
template <typename ServerType>
|
template <typename ServerType>
|
||||||
const String& ESP8266WebServerTemplate<ServerType>::arg(String name) const {
|
const String& ESP8266WebServerTemplate<ServerType>::arg(const String& name) const {
|
||||||
for (int j = 0; j < _postArgsLen; ++j) {
|
for (int j = 0; j < _postArgsLen; ++j) {
|
||||||
if ( _postArgs[j].key == name )
|
if ( _postArgs[j].key == name )
|
||||||
return _postArgs[j].value;
|
return _postArgs[j].value;
|
||||||
@ -590,7 +590,7 @@ bool ESP8266WebServerTemplate<ServerType>::hasArg(const String& name) const {
|
|||||||
|
|
||||||
|
|
||||||
template <typename ServerType>
|
template <typename ServerType>
|
||||||
const String& ESP8266WebServerTemplate<ServerType>::header(String name) const {
|
const String& ESP8266WebServerTemplate<ServerType>::header(const String& name) const {
|
||||||
for (int i = 0; i < _headerKeysCount; ++i) {
|
for (int i = 0; i < _headerKeysCount; ++i) {
|
||||||
if (_currentHeaders[i].key.equalsIgnoreCase(name))
|
if (_currentHeaders[i].key.equalsIgnoreCase(name))
|
||||||
return _currentHeaders[i].value;
|
return _currentHeaders[i].value;
|
||||||
@ -630,7 +630,7 @@ int ESP8266WebServerTemplate<ServerType>::headers() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename ServerType>
|
template <typename ServerType>
|
||||||
bool ESP8266WebServerTemplate<ServerType>::hasHeader(String name) const {
|
bool ESP8266WebServerTemplate<ServerType>::hasHeader(const String& name) const {
|
||||||
for (int i = 0; i < _headerKeysCount; ++i) {
|
for (int i = 0; i < _headerKeysCount; ++i) {
|
||||||
if ((_currentHeaders[i].key.equalsIgnoreCase(name)) && (_currentHeaders[i].value.length() > 0))
|
if ((_currentHeaders[i].key.equalsIgnoreCase(name)) && (_currentHeaders[i].value.length() > 0))
|
||||||
return true;
|
return true;
|
||||||
|
@ -107,17 +107,17 @@ public:
|
|||||||
// Allows setting server options (i.e. SSL keys) by the instantiator
|
// Allows setting server options (i.e. SSL keys) by the instantiator
|
||||||
ServerType &getServer() { return _server; }
|
ServerType &getServer() { return _server; }
|
||||||
|
|
||||||
const String& arg(String name) const; // get request argument value by name
|
const String& arg(const String& name) const; // get request argument value by name
|
||||||
const String& arg(int i) const; // get request argument value by number
|
const String& arg(int i) const; // get request argument value by number
|
||||||
const String& argName(int i) const; // get request argument name by number
|
const String& argName(int i) const; // get request argument name by number
|
||||||
int args() const; // get arguments count
|
int args() const; // get arguments count
|
||||||
bool hasArg(const String& name) const; // check if argument exists
|
bool hasArg(const String& name) const; // check if argument exists
|
||||||
void collectHeaders(const char* headerKeys[], const size_t headerKeysCount); // set the request headers to collect
|
void collectHeaders(const char* headerKeys[], const size_t headerKeysCount); // set the request headers to collect
|
||||||
const String& header(String name) const; // get request header value by name
|
const String& header(const String& name) const; // get request header value by name
|
||||||
const String& header(int i) const; // get request header value by number
|
const String& header(int i) const; // get request header value by number
|
||||||
const String& headerName(int i) const; // get request header name by number
|
const String& headerName(int i) const; // get request header name by number
|
||||||
int headers() const; // get header count
|
int headers() const; // get header count
|
||||||
bool hasHeader(String name) const; // check if header exists
|
bool hasHeader(const String& name) const; // check if header exists
|
||||||
const String& hostHeader() const; // get request host header if available or empty String if not
|
const String& hostHeader() const; // get request host header if available or empty String if not
|
||||||
|
|
||||||
// send response to the client
|
// send response to the client
|
||||||
|
@ -358,7 +358,7 @@ transmission_status_t ESP8266WiFiMesh::exchangeInfo(WiFiClient &currClient)
|
|||||||
{
|
{
|
||||||
verboseModePrint("Transmitting"); // Not storing strings in flash (via F()) to avoid performance impacts when using the string.
|
verboseModePrint("Transmitting"); // Not storing strings in flash (via F()) to avoid performance impacts when using the string.
|
||||||
|
|
||||||
currClient.print(getMessage() + "\r");
|
currClient.print(getMessage() + '\r');
|
||||||
yield();
|
yield();
|
||||||
|
|
||||||
if (!waitForClientTransmission(currClient, _stationModeTimeoutMs))
|
if (!waitForClientTransmission(currClient, _stationModeTimeoutMs))
|
||||||
@ -582,11 +582,11 @@ void ESP8266WiFiMesh::attemptTransmission(const String &message, bool concluding
|
|||||||
|
|
||||||
if(_verboseMode) // Avoid string generation if not required
|
if(_verboseMode) // Avoid string generation if not required
|
||||||
{
|
{
|
||||||
verboseModePrint(String(F("AP acquired: ")) + currentSSID + String(F(", Ch:")) + String(currentWiFiChannel) + " ", false);
|
verboseModePrint(String(F("AP acquired: ")) + currentSSID + String(F(", Ch:")) + String(currentWiFiChannel) + ' ', false);
|
||||||
|
|
||||||
if(currentNetwork.networkIndex != NETWORK_INFO_DEFAULT_INT)
|
if(currentNetwork.networkIndex != NETWORK_INFO_DEFAULT_INT)
|
||||||
{
|
{
|
||||||
verboseModePrint("(" + String(WiFi.RSSI(currentNetwork.networkIndex)) + String(F("dBm) ")) +
|
verboseModePrint(String('(') + String(WiFi.RSSI(currentNetwork.networkIndex)) + String(F("dBm) ")) +
|
||||||
(WiFi.encryptionType(currentNetwork.networkIndex) == ENC_TYPE_NONE ? String(F("open")) : ""), false);
|
(WiFi.encryptionType(currentNetwork.networkIndex) == ENC_TYPE_NONE ? String(F("open")) : ""), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -662,7 +662,7 @@ void ESP8266WiFiMesh::acceptRequest()
|
|||||||
if (_client.connected())
|
if (_client.connected())
|
||||||
{
|
{
|
||||||
verboseModePrint("Responding"); // Not storing strings in flash (via F()) to avoid performance impacts when using the string.
|
verboseModePrint("Responding"); // Not storing strings in flash (via F()) to avoid performance impacts when using the string.
|
||||||
_client.print(response + "\r");
|
_client.print(response + '\r');
|
||||||
_client.flush();
|
_client.flush();
|
||||||
yield();
|
yield();
|
||||||
}
|
}
|
||||||
|
@ -439,7 +439,7 @@ HTTPUpdateResult ESP8266HTTPUpdate::handleUpdate(HTTPClient& http, const String&
|
|||||||
* @param md5 String
|
* @param md5 String
|
||||||
* @return true if Update ok
|
* @return true if Update ok
|
||||||
*/
|
*/
|
||||||
bool ESP8266HTTPUpdate::runUpdate(Stream& in, uint32_t size, String md5, int command)
|
bool ESP8266HTTPUpdate::runUpdate(Stream& in, uint32_t size, const String& md5, int command)
|
||||||
{
|
{
|
||||||
|
|
||||||
StreamString error;
|
StreamString error;
|
||||||
|
@ -130,7 +130,7 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
t_httpUpdate_return handleUpdate(HTTPClient& http, const String& currentVersion, bool spiffs = false);
|
t_httpUpdate_return handleUpdate(HTTPClient& http, const String& currentVersion, bool spiffs = false);
|
||||||
bool runUpdate(Stream& in, uint32_t size, String md5, int command = U_FLASH);
|
bool runUpdate(Stream& in, uint32_t size, const String& md5, int command = U_FLASH);
|
||||||
|
|
||||||
int _lastError;
|
int _lastError;
|
||||||
bool _rebootOnUpdate = true;
|
bool _rebootOnUpdate = true;
|
||||||
|
@ -277,7 +277,7 @@ bool MDNSResponder::addServiceTxt(char *name, char *proto, char *key, char *valu
|
|||||||
return false; //max txt record size
|
return false; //max txt record size
|
||||||
}
|
}
|
||||||
MDNSTxt *newtxt = new MDNSTxt;
|
MDNSTxt *newtxt = new MDNSTxt;
|
||||||
newtxt->_txt = String(key) + "=" + String(value);
|
newtxt->_txt = String(key) + '=' + String(value);
|
||||||
newtxt->_next = 0;
|
newtxt->_next = 0;
|
||||||
if (servicePtr->_txts == 0) //no services have been added
|
if (servicePtr->_txts == 0) //no services have been added
|
||||||
{
|
{
|
||||||
|
@ -280,7 +280,7 @@ bool MDNSResponder::setHostname(const char* p_pcHostname)
|
|||||||
/*
|
/*
|
||||||
MDNSResponder::setHostname (LEGACY)
|
MDNSResponder::setHostname (LEGACY)
|
||||||
*/
|
*/
|
||||||
bool MDNSResponder::setHostname(String p_strHostname)
|
bool MDNSResponder::setHostname(const String& p_strHostname)
|
||||||
{
|
{
|
||||||
|
|
||||||
return setHostname(p_strHostname.c_str());
|
return setHostname(p_strHostname.c_str());
|
||||||
@ -369,8 +369,8 @@ bool MDNSResponder::removeService(const char* p_pcName,
|
|||||||
/*
|
/*
|
||||||
MDNSResponder::addService (LEGACY)
|
MDNSResponder::addService (LEGACY)
|
||||||
*/
|
*/
|
||||||
bool MDNSResponder::addService(String p_strService,
|
bool MDNSResponder::addService(const String& p_strService,
|
||||||
String p_strProtocol,
|
const String& p_strProtocol,
|
||||||
uint16_t p_u16Port)
|
uint16_t p_u16Port)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -595,10 +595,10 @@ bool MDNSResponder::addServiceTxt(const char* p_pcService,
|
|||||||
/*
|
/*
|
||||||
MDNSResponder::addServiceTxt (LEGACY)
|
MDNSResponder::addServiceTxt (LEGACY)
|
||||||
*/
|
*/
|
||||||
bool MDNSResponder::addServiceTxt(String p_strService,
|
bool MDNSResponder::addServiceTxt(const String& p_strService,
|
||||||
String p_strProtocol,
|
const String& p_strProtocol,
|
||||||
String p_strKey,
|
const String& p_strKey,
|
||||||
String p_strValue)
|
const String& p_strValue)
|
||||||
{
|
{
|
||||||
|
|
||||||
return (0 != _addServiceTxt(_findService(m_pcHostname, p_strService.c_str(), p_strProtocol.c_str()), p_strKey.c_str(), p_strValue.c_str(), false));
|
return (0 != _addServiceTxt(_findService(m_pcHostname, p_strService.c_str(), p_strProtocol.c_str()), p_strKey.c_str(), p_strValue.c_str(), false));
|
||||||
@ -826,8 +826,8 @@ bool MDNSResponder::removeQuery(void)
|
|||||||
/*
|
/*
|
||||||
MDNSResponder::queryService (LEGACY)
|
MDNSResponder::queryService (LEGACY)
|
||||||
*/
|
*/
|
||||||
uint32_t MDNSResponder::queryService(String p_strService,
|
uint32_t MDNSResponder::queryService(const String& p_strService,
|
||||||
String p_strProtocol)
|
const String& p_strProtocol)
|
||||||
{
|
{
|
||||||
|
|
||||||
return queryService(p_strService.c_str(), p_strProtocol.c_str());
|
return queryService(p_strService.c_str(), p_strProtocol.c_str());
|
||||||
|
@ -192,7 +192,7 @@ public:
|
|||||||
// Change hostname (probing is restarted)
|
// Change hostname (probing is restarted)
|
||||||
bool setHostname(const char* p_pcHostname);
|
bool setHostname(const char* p_pcHostname);
|
||||||
// for compatibility...
|
// for compatibility...
|
||||||
bool setHostname(String p_strHostname);
|
bool setHostname(const String& p_strHostname);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
hMDNSService (opaque handle to access the service)
|
hMDNSService (opaque handle to access the service)
|
||||||
@ -213,8 +213,8 @@ public:
|
|||||||
const char* p_pcServiceName,
|
const char* p_pcServiceName,
|
||||||
const char* p_pcProtocol);
|
const char* p_pcProtocol);
|
||||||
// for compatibility...
|
// for compatibility...
|
||||||
bool addService(String p_strServiceName,
|
bool addService(const String& p_strServiceName,
|
||||||
String p_strProtocol,
|
const String& p_strProtocol,
|
||||||
uint16_t p_u16Port);
|
uint16_t p_u16Port);
|
||||||
|
|
||||||
|
|
||||||
@ -276,10 +276,10 @@ public:
|
|||||||
const char* p_pcProtocol,
|
const char* p_pcProtocol,
|
||||||
const char* p_pcKey,
|
const char* p_pcKey,
|
||||||
const char* p_pcValue);
|
const char* p_pcValue);
|
||||||
bool addServiceTxt(String p_strService,
|
bool addServiceTxt(const String& p_strService,
|
||||||
String p_strProtocol,
|
const String& p_strProtocol,
|
||||||
String p_strKey,
|
const String& p_strKey,
|
||||||
String p_strValue);
|
const String& p_strValue);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
MDNSDynamicServiceTxtCallbackFn
|
MDNSDynamicServiceTxtCallbackFn
|
||||||
@ -331,8 +331,8 @@ public:
|
|||||||
const uint16_t p_u16Timeout = MDNS_QUERYSERVICES_WAIT_TIME);
|
const uint16_t p_u16Timeout = MDNS_QUERYSERVICES_WAIT_TIME);
|
||||||
bool removeQuery(void);
|
bool removeQuery(void);
|
||||||
// for compatibility...
|
// for compatibility...
|
||||||
uint32_t queryService(String p_strService,
|
uint32_t queryService(const String& p_strService,
|
||||||
String p_strProtocol);
|
const String& p_strProtocol);
|
||||||
|
|
||||||
const char* answerHostname(const uint32_t p_u32AnswerIndex);
|
const char* answerHostname(const uint32_t p_u32AnswerIndex);
|
||||||
IPAddress answerIP(const uint32_t p_u32AnswerIndex);
|
IPAddress answerIP(const uint32_t p_u32AnswerIndex);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user