8000 HTTPRequest::getMethod() now returns the actual method used by the cl… · proddy/esp32_https_server@9eab972 · GitHub
[go: up one dir, main page]

Skip to content

Co 8000 mmit 9eab972

Browse files
committed
HTTPRequest::getMethod() now returns the actual method used by the client.
This is relevant for the default handler, as it is not able to differentiate between methods otherwise.
1 parent 35db68f commit 9eab972

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

src/HTTPConnection.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -446,7 +446,14 @@ void HTTPConnection::loop() {
446446
}
447447

448448
// Create request context
449-
HTTPRequest req = HTTPRequest(this, _httpHeaders, resolvedResource.getMatchingNode(), resolvedResource.getParams(), _httpResource);
449+
HTTPRequest req = HTTPRequest(
450+
this,
451+
_httpHeaders,
452+
resolvedResource.getMatchingNode(),
453+
_httpMethod,
454+
resolvedResource.getParams(),
455+
_httpResource
456+
);
450457
HTTPResponse res = HTTPResponse(this);
451458

452459
// Add default headers to the response

src/HTTPRequest.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ HTTPRequest::HTTPRequest(
66
ConnectionContext * con,
77
HTTPHeaders * headers,
88
HTTPNode * resolvedNode,
9+
std::string method,
910
ResourceParameters * params,
1011
std::string requestString):
1112
_con(con),
1213
_headers(headers),
1314
_resolvedNode(resolvedNode),
15+
_method(method),
1416
_params(params),
1517
_requestString(requestString) {
1618

@@ -83,7 +85,7 @@ std::string HTTPRequest::getRequestString() {
8385
}
8486

8587
std::string HTTPRequest::getMethod() {
86-
return _resolvedNode->getMethod();
88+
return _method;
8789
}
8890

8991
std::string HTTPRequest::getTag() {

src/HTTPRequest.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ namespace httpsserver {
1717

1818
class HTTPRequest {
1919
public:
20-
HTTPRequest(ConnectionContext * con, HTTPHeaders * headers, HTTPNode * resolvedNode, ResourceParameters * params, std::string requestString);
20+
HTTPRequest(ConnectionContext * con, HTTPHeaders * headers, HTTPNode * resolvedNode, std::string method, ResourceParameters * params, std::string requestString);
2121
virtual ~HTTPRequest();
2222

2323
std::string getHeader(std::string name);
@@ -47,6 +47,8 @@ class HTTPRequest {
4747

4848
HTTPNode * _resolvedNode;
4949

50+
std::string _method;
51+
5052
ResourceParameters * _params;
5153

5254
std::string _requestString;

0 commit comments

Comments
 (0)
0