I have defined the index.html as one of the binary files and successfully started the webserver using the get handler to redirect to index.html using http_resp_send with a esp_err_t get_handler.
In short ,
/ -->get handler redirect-->index.html can this be just simplify as /index.html by passing the get handler?
- esp_err_t get_handler(httpd_req_t *req) {
- extern const char index_html_start[] asm("_binary_index_html_start");
- extern const char index_html_end[] asm("_binary_index_html_end");
- httpd_resp_send(req, index_html_start ,(index_html_end-index_html_start));
- return ESP_OK;
- }
- static const httpd_uri_t hello = {
- .uri = "/",
- .method = HTTP_GET,
- .handler = get_handler,
- /* Let's pass response string in user
- * context to demonstrate it's usage */
- .user_ctx = "Hello World!"
- };
- static httpd_handle_t start_webserver(void) {
- httpd_config_t webconfig = HTTPD_DEFAULT_CONFIG();
- ESP_LOGI(TAG, "Starting server on port: '%d'", webconfig.server_port);
- if (httpd_start(&web_server, &webconfig) == ESP_OK) {
- ESP_LOGI(TAGHTTP, "Registering URI handlers");
- httpd_register_uri_handler(web_server, &hello);
- }
- return web_server;
- }