A simple web server that can be bound to either the EthernetInterface or the WiflyInterface.
Dependents: Smart-WiFly-WebServer WattEye X10Svr SSDP_Server
Diff: SW_HTTPServer.h
- Revision:
- 43:3fc773c2986e
- Parent:
- 40:02c49fadbb94
- Child:
- 44:71f09e4255f4
diff -r 0d5b682bb17a -r 3fc773c2986e SW_HTTPServer.h --- 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