mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 15:12:06 +00:00 
			
		
		
		
	Fix captive_portal loading entire web_server (#9066)
				
					
				
			This commit is contained in:
		
				
					committed by
					
						 Jesse Hills
						Jesse Hills
					
				
			
			
				
	
			
			
			
						parent
						
							00e8332bf5
						
					
				
				
					commit
					ebecf7047e
				
			| @@ -8,8 +8,6 @@ CONFIG_SCHEMA = cv.All( | |||||||
|     cv.only_with_esp_idf, |     cv.only_with_esp_idf, | ||||||
| ) | ) | ||||||
|  |  | ||||||
| AUTO_LOAD = ["web_server"] |  | ||||||
|  |  | ||||||
|  |  | ||||||
| async def to_code(config): | async def to_code(config): | ||||||
|     # Increase the maximum supported size of headers section in HTTP request packet to be processed by the server |     # Increase the maximum supported size of headers section in HTTP request packet to be processed by the server | ||||||
|   | |||||||
| @@ -9,10 +9,12 @@ | |||||||
|  |  | ||||||
| #include "utils.h" | #include "utils.h" | ||||||
|  |  | ||||||
|  | #include "web_server_idf.h" | ||||||
|  |  | ||||||
|  | #ifdef USE_WEBSERVER | ||||||
| #include "esphome/components/web_server/web_server.h" | #include "esphome/components/web_server/web_server.h" | ||||||
| #include "esphome/components/web_server/list_entities.h" | #include "esphome/components/web_server/list_entities.h" | ||||||
|  | #endif  // USE_WEBSERVER | ||||||
| #include "web_server_idf.h" |  | ||||||
|  |  | ||||||
| namespace esphome { | namespace esphome { | ||||||
| namespace web_server_idf { | namespace web_server_idf { | ||||||
| @@ -273,6 +275,7 @@ void AsyncResponseStream::printf(const char *fmt, ...) { | |||||||
|   this->print(str); |   this->print(str); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | #ifdef USE_WEBSERVER | ||||||
| AsyncEventSource::~AsyncEventSource() { | AsyncEventSource::~AsyncEventSource() { | ||||||
|   for (auto *ses : this->sessions_) { |   for (auto *ses : this->sessions_) { | ||||||
|     delete ses;  // NOLINT(cppcoreguidelines-owning-memory) |     delete ses;  // NOLINT(cppcoreguidelines-owning-memory) | ||||||
| @@ -511,6 +514,7 @@ void AsyncEventSourceResponse::deferrable_send_state(void *source, const char *e | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | #endif | ||||||
|  |  | ||||||
| }  // namespace web_server_idf | }  // namespace web_server_idf | ||||||
| }  // namespace esphome | }  // namespace esphome | ||||||
|   | |||||||
| @@ -1,6 +1,7 @@ | |||||||
| #pragma once | #pragma once | ||||||
| #ifdef USE_ESP_IDF | #ifdef USE_ESP_IDF | ||||||
|  |  | ||||||
|  | #include "esphome/core/defines.h" | ||||||
| #include <esp_http_server.h> | #include <esp_http_server.h> | ||||||
|  |  | ||||||
| #include <functional> | #include <functional> | ||||||
| @@ -12,10 +13,12 @@ | |||||||
| #include <vector> | #include <vector> | ||||||
|  |  | ||||||
| namespace esphome { | namespace esphome { | ||||||
|  | #ifdef USE_WEBSERVER | ||||||
| namespace web_server { | namespace web_server { | ||||||
| class WebServer; | class WebServer; | ||||||
| class ListEntitiesIterator; | class ListEntitiesIterator; | ||||||
| };  // namespace web_server | };  // namespace web_server | ||||||
|  | #endif | ||||||
| namespace web_server_idf { | namespace web_server_idf { | ||||||
|  |  | ||||||
| #define F(string_literal) (string_literal) | #define F(string_literal) (string_literal) | ||||||
| @@ -220,6 +223,7 @@ class AsyncWebHandler { | |||||||
|   virtual bool isRequestHandlerTrivial() { return true; } |   virtual bool isRequestHandlerTrivial() { return true; } | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | #ifdef USE_WEBSERVER | ||||||
| class AsyncEventSource; | class AsyncEventSource; | ||||||
| class AsyncEventSourceResponse; | class AsyncEventSourceResponse; | ||||||
|  |  | ||||||
| @@ -307,10 +311,13 @@ class AsyncEventSource : public AsyncWebHandler { | |||||||
|   connect_handler_t on_connect_{}; |   connect_handler_t on_connect_{}; | ||||||
|   esphome::web_server::WebServer *web_server_; |   esphome::web_server::WebServer *web_server_; | ||||||
| }; | }; | ||||||
|  | #endif  // USE_WEBSERVER | ||||||
|  |  | ||||||
| class DefaultHeaders { | class DefaultHeaders { | ||||||
|   friend class AsyncWebServerRequest; |   friend class AsyncWebServerRequest; | ||||||
|  | #ifdef USE_WEBSERVER | ||||||
|   friend class AsyncEventSourceResponse; |   friend class AsyncEventSourceResponse; | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  public: |  public: | ||||||
|   // NOLINTNEXTLINE(readability-identifier-naming) |   // NOLINTNEXTLINE(readability-identifier-naming) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user