From 85784a2535733a9042313d7b0b9433ebc5121a9d Mon Sep 17 00:00:00 2001 From: "rjwats@gmail.com" Date: Mon, 26 Feb 2018 22:55:58 +0000 Subject: [PATCH] Add feature to enable CORS during the build. --- platformio.ini | 4 +++- src/main.cpp | 9 +++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/platformio.ini b/platformio.ini index f0a8826..9b78fba 100644 --- a/platformio.ini +++ b/platformio.ini @@ -14,7 +14,9 @@ framework = arduino ;upload_flags = --port=8266 --auth=esp-react ;upload_port = 192.168.0.6 board_f_cpu = 160000000L -build_flags= -D NO_GLOBAL_ARDUINOOTA +build_flags= + -D NO_GLOBAL_ARDUINOOTA +; -D ENABLE_CORS lib_deps = https://github.com/PaulStoffregen/Time https://github.com/gmag11/NtpClient diff --git a/src/main.cpp b/src/main.cpp index f6402ab..e07c01f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -44,14 +44,23 @@ void setup() { server.serveStatic("/app/", SPIFFS, "/www/app/"); // Serving all other get requests with "/www/index.htm" + // OPTIONS get a straight up 200 response server.onNotFound([](AsyncWebServerRequest *request) { if (request->method() == HTTP_GET) { request->send(SPIFFS, "/www/index.html"); + } else if (request->method() == HTTP_OPTIONS) { + request->send(200); } else { request->send(404); } }); + // Disable CORS if required + #if defined(ENABLE_CORS) + DefaultHeaders::Instance().addHeader("Access-Control-Allow-Origin", "*"); + DefaultHeaders::Instance().addHeader("Access-Control-Allow-Headers", "*"); + #endif + server.begin(); }