mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-03 07:02:28 +03:00
Pass String by const reference [3.0] (#6583)
Passing String by value means a full copy-constructor/temporary string creation which is slightly inefficient. Avoid that by using const references.
This commit is contained in:
parent
df9bc38bce
commit
83158affa8
@ -10,10 +10,10 @@ class RequestHandler {
|
||||
using WebServerType = ESP8266WebServerTemplate<ServerType>;
|
||||
public:
|
||||
virtual ~RequestHandler() { }
|
||||
virtual bool canHandle(HTTPMethod method, String uri) { (void) method; (void) uri; return false; }
|
||||
virtual bool canUpload(String uri) { (void) uri; return false; }
|
||||
virtual bool handle(WebServerType& server, HTTPMethod requestMethod, String requestUri) { (void) server; (void) requestMethod; (void) requestUri; return false; }
|
||||
virtual void upload(WebServerType& server, String requestUri, HTTPUpload& upload) { (void) server; (void) requestUri; (void) upload; }
|
||||
virtual bool canHandle(HTTPMethod method, const String& uri) { (void) method; (void) uri; return false; }
|
||||
virtual bool canUpload(const String& uri) { (void) uri; return false; }
|
||||
virtual bool handle(WebServerType& server, HTTPMethod requestMethod, const String& requestUri) { (void) server; (void) requestMethod; (void) requestUri; return false; }
|
||||
virtual void upload(WebServerType& server, const String& requestUri, HTTPUpload& upload) { (void) server; (void) requestUri; (void) upload; }
|
||||
|
||||
RequestHandler<ServerType>* next() { return _next; }
|
||||
void next(RequestHandler<ServerType>* r) { _next = r; }
|
||||
|
@ -25,21 +25,21 @@ public:
|
||||
delete _uri;
|
||||
}
|
||||
|
||||
bool canHandle(HTTPMethod requestMethod, String requestUri) override {
|
||||
bool canHandle(HTTPMethod requestMethod, const String& requestUri) override {
|
||||
if (_method != HTTP_ANY && _method != requestMethod)
|
||||
return false;
|
||||
|
||||
return _uri->canHandle(requestUri, RequestHandler<ServerType>::pathArgs);
|
||||
}
|
||||
|
||||
bool canUpload(String requestUri) override {
|
||||
bool canUpload(const String& requestUri) override {
|
||||
if (!_ufn || !canHandle(HTTP_POST, requestUri))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool handle(WebServerType& server, HTTPMethod requestMethod, String requestUri) override {
|
||||
bool handle(WebServerType& server, HTTPMethod requestMethod, const String& requestUri) override {
|
||||
(void) server;
|
||||
if (!canHandle(requestMethod, requestUri))
|
||||
return false;
|
||||
@ -48,7 +48,7 @@ public:
|
||||
return true;
|
||||
}
|
||||
|
||||
void upload(WebServerType& server, String requestUri, HTTPUpload& upload) override {
|
||||
void upload(WebServerType& server, const String& requestUri, HTTPUpload& upload) override {
|
||||
(void) server;
|
||||
(void) upload;
|
||||
if (canUpload(requestUri))
|
||||
@ -85,7 +85,7 @@ public:
|
||||
_baseUriLength = _uri.length();
|
||||
}
|
||||
|
||||
bool canHandle(HTTPMethod requestMethod, String requestUri) override {
|
||||
bool canHandle(HTTPMethod requestMethod, const String& requestUri) override {
|
||||
if ((requestMethod != HTTP_GET) && (requestMethod != HTTP_HEAD))
|
||||
return false;
|
||||
|
||||
@ -95,7 +95,9 @@ public:
|
||||
return true;
|
||||
}
|
||||
|
||||
bool handle(WebServerType& server, HTTPMethod requestMethod, String requestUri) override {
|
||||
bool handle(WebServerType& server, HTTPMethod requestMethod, const String& __requestUri) override {
|
||||
String requestUri(__requestUri);
|
||||
|
||||
if (!canHandle(requestMethod, requestUri))
|
||||
return false;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user