20
20
Modified 8 May 2015 by Hristo Gochkov (proper post and file upload handling)
21
21
*/
22
22
23
-
24
23
#include < Arduino.h>
25
24
#include < libb64/cencode.h>
26
25
#include " WiFiServer.h"
@@ -45,7 +44,8 @@ static const char Content_Length[] PROGMEM = "Content-Length";
45
44
46
45
template <typename ServerType>
47
46
ESP8266WebServerTemplate<ServerType>::ESP8266WebServerTemplate(IPAddress addr, int port)
48
- : _server(addr, port)
47
+ : _corsEnabled(false )
48
+ , _server(addr, port)
49
49
, _currentMethod(HTTP_ANY)
50
50
, _currentVersion(0 )
51
51
, _currentStatus(HC_NONE)
@@ -66,7 +66,8 @@ ESP8266WebServerTemplate<ServerType>::ESP8266WebServerTemplate(IPAddress addr, i
66
66
67
67
template <typename ServerType>
68
68
ESP8266WebServerTemplate<ServerType>::ESP8266WebServerTemplate(int port)
69
- : _server(port)
69
+ : _corsEnabled(false )
70
+ , _server(port)
70
71
, _currentMethod(HTTP_ANY)
71
72
, _currentVersion(0 )
72
73
, _currentStatus(HC_NONE)
@@ -98,6 +99,10 @@ ESP8266WebServerTemplate<ServerType>::~ESP8266WebServerTemplate() {
98
99
}
99
100
}
100
101
102
+ template <typename ServerType>
103
+ void ESP8266WebServerTemplate<ServerType>::enableCORS(bool _ec) {
104
+ _corsEnabled = _ec;
105
+ }
101
106
template <typename ServerType>
102
107
void ESP8266WebServerTemplate<ServerType>::begin() {
103
108
close ();
@@ -421,7 +426,10 @@ void ESP8266WebServerTemplate<ServerType>::_prepareHeader(String& response, int
421
426
sendHeader (String (F (" Accept-Ranges" )),String (F (" none" )));
422
427
sendHeader (String (F (" Transfer-Encoding" )),String (F (" chunked" )));
423
428
}
424
- sendHeader (String (F (" Connection" )), String (F (" close" )));
429
+ if (_corsEnabled) {
430
+ sendHeader (String (F (" Access-Control-Allow-Origin" )), String (" *" ));
431
+ }
432
+ sendHeader (String (F (" Connection" )), String (F (" close" )));
425
433
426
434
response += _responseHeaders;
427
435
response += " \r\n " ;
0 commit comments