Browse Source

Document CORS preflight options

bel2125 8 years ago
parent
commit
4a4a901205
3 changed files with 35 additions and 4 deletions
  1. 1 1
      README.md
  2. 34 1
      docs/UserManual.md
  3. 0 2
      src/civetweb.c

+ 1 - 1
README.md

@@ -124,7 +124,7 @@ Support
 -------
 -------
 
 
 This project is very easy to install and use. Please read the [documentation](https://github.com/civetweb/civetweb/blob/master/docs/)
 This project is very easy to install and use. Please read the [documentation](https://github.com/civetweb/civetweb/blob/master/docs/)
-and have a look at the [examples] (https://github.com/civetweb/civetweb/blob/master/examples/).
+and have a look at the [examples](https://github.com/civetweb/civetweb/blob/master/examples/).
 More information may be found on the [mailing list](https://groups.google.com/d/forum/civetweb).
 More information may be found on the [mailing list](https://groups.google.com/d/forum/civetweb).
 
 
 
 

+ 34 - 1
docs/UserManual.md

@@ -455,11 +455,44 @@ be used for websockets as well. Since websockets use a different URL scheme
 websockets may also be served from a different directory. By default,
 websockets may also be served from a different directory. By default,
 the document_root is used as websocket_root as well.
 the document_root is used as websocket_root as well.
 
 
-### access\_control\_allow\_origin
+
+### access\_control\_allow\_origin `*`
 Access-Control-Allow-Origin header field, used for cross-origin resource
 Access-Control-Allow-Origin header field, used for cross-origin resource
 sharing (CORS).
 sharing (CORS).
 See the [Wikipedia page on CORS](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing).
 See the [Wikipedia page on CORS](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing).
 
 
+
+### access\_control\_allow\_methods `*`
+Access-Control-Allow-Methods header field, used for cross-origin resource
+sharing (CORS) pre-flight requests.
+See the [Wikipedia page on CORS](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing).
+
+If set to an empty string, pre-flights will not be supported directly by the server,
+but scripts may still support pre-flights by handling the OPTIONS method properly.
+If set to "*", the pre-flight will allow whatever method has been requested.
+If set to a comma separated list of valid HTTP methods, the pre-flight will return
+exactly this list as allowed method.
+If set in any other way, the result is unspecified.
+
+
+### access\_control\_allow\_headers `*`
+Access-Control-Allow-Headers header field, used for cross-origin resource
+sharing (CORS) pre-flight requests.
+See the [Wikipedia page on CORS](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing).
+
+If set to an empty string, pre-flights will not allow additional headers.
+If set to "*", the pre-flight will allow whatever headers have been requested.
+If set to a comma separated list of valid HTTP headers, the pre-flight will return
+exactly this list as allowed headers.
+If set in any other way, the result is unspecified.
+
+
+### access\_control\_allow\_headers `*`
+Access-Control-Allow-Origin header field, used for cross-origin resource
+sharing (CORS).
+See the [Wikipedia page on CORS](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing).
+
+
 ### error\_pages
 ### error\_pages
 This option may be used to specify a directory for user defined error pages.
 This option may be used to specify a directory for user defined error pages.
 The error pages may be specified for an individual http status code (e.g.,
 The error pages may be specified for an individual http status code (e.g.,

+ 0 - 2
src/civetweb.c

@@ -11396,10 +11396,8 @@ handle_request(struct mg_connection *conn)
 	void *callback_data = NULL;
 	void *callback_data = NULL;
 	mg_authorization_handler auth_handler = NULL;
 	mg_authorization_handler auth_handler = NULL;
 	void *auth_callback_data = NULL;
 	void *auth_callback_data = NULL;
-#if !defined(NO_FILES)
 	time_t curtime = time(NULL);
 	time_t curtime = time(NULL);
 	char date[64];
 	char date[64];
-#endif
 
 
 	path[0] = 0;
 	path[0] = 0;