A simple web server that can be bound to either the EthernetInterface or the WiflyInterface.

Dependents:   Smart-WiFly-WebServer WattEye X10Svr SSDP_Server

Revision:
43:3fc773c2986e
Parent:
40:02c49fadbb94
Child:
44:71f09e4255f4
--- a/SW_HTTPServer.h	Wed Sep 03 10:42:33 2014 +0000
+++ b/SW_HTTPServer.h	Mon Feb 02 03:01:00 2015 +0000
@@ -81,26 +81,31 @@
 /// @li Rapid requests for page objects (e.g. embedded images) are lost. Still
 ///     working to understand this issue.
 ///
-/// Improvements:
-/// @li removed the relationship to the Wifly module, which caused an API change
-///       in the constructor by elimination of the first parameter.
-/// @li hunted down several lengthy operations - the speed of the file system
-///       and the "close" operation which requires <delay 0.25s>$$$<delay>close\r.
-/// @li parses the header similar to the query string, and then makes
-///       those parameters accessible.
-/// @li Added basic password capability to dynamic web pages.
+/// Improvements (TODO):
+/// @li Add hook for a custom 404 page, which might show a page, or might redirect.
+/// @li Combine the API for accessing parameters for the GET and POST, as they
+///     are normally [always?] mutually exclusive.
+/// @li Keep only the public functions public, make the rest private/protected.
+///     Add another interface for dynamic pages to give them access to private/protected
+///     functions.
+/// @li Try to reduce the size of the header buffer, since that is quite large.
+/// @li General clean-up, refactoring, de-duplication.
+/// @li Leverage mbed os, so one receive handler can spawn up to N response handlers.
+///     This may improve overall performance.
+/// @li Since some transactions can't be easily buffered (the stream may be too
+///     large, consider how to shuttle parts of the transaction back and forth
+///     between the user-code and the server.
 ///
-/// ToDo:
-/// @li move part of the POST method handler to the registered handler, so
+/// History (TO-Done):
+/// @li 20140913 Removed the relationship to the Wifly module, which caused an API change
+///       in the constructor by elimination of the first parameter.
+/// @li 20140913 parses the header similar to the query string, and then makes
+///       those parameters accessible.
+/// @li 20140913 Added basic password capability to dynamic web pages.
+/// @li 20140913 move part of the POST method handler to the registered handler, so
 ///       it can decide if it should allocate the needed memory.
-/// @li transform the pc serial interface to a log interface, which might
-///       be more useful.
-/// @li Add ability to put WiFly in AP mode and then configuration pages
-///       to find and join a network.
-/// @li Add ability to change/update SW in the WiFly module
-/// @li Add ability to upload a new application to the mbed
-///
-/// History:
+/// @li 20140201 hunted down several lengthy operations - the speed of the file system
+///       and the "close" operation which requires <delay 0.25s>$$$<delay>close\r.
 /// @li 20130530 Initial version
 /// @li 20130601 Renamed ip_process to Poll
 /// @li 20130617 Cleaned up some of the documentation changes