|  | @@ -0,0 +1,98 @@
 | 
											
												
													
														|  | 
 |  | +Embedding Civetweb
 | 
											
												
													
														|  | 
 |  | +=========
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +Civetweb is primarily designed so applications can easily add HTTP server functionality.  For example, an application server could use Civetweb to enable a web service interface for automation or remote control.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +Files
 | 
											
												
													
														|  | 
 |  | +------
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +There is no library, it is just a small set of files to compile in to the application.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +#### Required Files
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +  1. HTTP Server API
 | 
											
												
													
														|  | 
 |  | +    - civetweb.c
 | 
											
												
													
														|  | 
 |  | +    - civetweb.h
 | 
											
												
													
														|  | 
 |  | +  2. MD5 API
 | 
											
												
													
														|  | 
 |  | +    - md5.h
 | 
											
												
													
														|  | 
 |  | +    - md5.c
 | 
											
												
													
														|  | 
 |  | +  3. C++ Wrapper (Optional)
 | 
											
												
													
														|  | 
 |  | +    - cpp/CivetServer.cpp
 | 
											
												
													
														|  | 
 |  | +    - cpp/CivetServer.h
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +#### Other Files
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +  1. Reference C Server
 | 
											
												
													
														|  | 
 |  | +    - main.c
 | 
											
												
													
														|  | 
 |  | +  2. Reference C++ Server
 | 
											
												
													
														|  | 
 |  | +    - cpp/example.cpp
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +Quick Start
 | 
											
												
													
														|  | 
 |  | +------
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +By default, the server will automatically serve up files liek a normal HTTP server.  An embedded server is most likely going to overload this functionality.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +### C
 | 
											
												
													
														|  | 
 |  | +  - Use mg_start() to start the server.
 | 
											
												
													
														|  | 
 |  | +  - Use mg_stop() to stop the server.
 | 
											
												
													
														|  | 
 |  | +  - Use mg_start() options to select the port and document root among other things.
 | 
											
												
													
														|  | 
 |  | +  - Use mg_start() callbacks to add your own hooks.  The *begin_request* callback is almost always what is needed.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +### C++
 | 
											
												
													
														|  | 
 |  | +  - Create CivetHandlers for each URI.
 | 
											
												
													
														|  | 
 |  | +  - Register the handlers with CivertServer::addHandler()
 | 
											
												
													
														|  | 
 |  | +  - CivetServer starts on contruction and stops on destruction.
 | 
											
												
													
														|  | 
 |  | +  - Use mg_stop() to stop the server.
 | 
											
												
													
														|  | 
 |  | +  - Use contructor options to select the port and document root among other things.
 | 
											
												
													
														|  | 
 |  | +  - Use constructor callbacks to add your own hooks.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +LUA Support
 | 
											
												
													
														|  | 
 |  | +------
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +LUA is a server side include functionality.  Files ending in .la will be processed with LUA.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +##### Add the following CFLAGS
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +  - -DLUA_COMPAT_ALL
 | 
											
												
													
														|  | 
 |  | +  - -DUSE_LUA
 | 
											
												
													
														|  | 
 |  | +  - -DUSE_LUA_SQLITE3
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +##### Add the following sources
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +  - mod_lua.c
 | 
											
												
													
														|  | 
 |  | +  - lua-5.2.1/src
 | 
											
												
													
														|  | 
 |  | +     + lapi.c
 | 
											
												
													
														|  | 
 |  | +     + lauxlib.c
 | 
											
												
													
														|  | 
 |  | +     + lbaselib.c
 | 
											
												
													
														|  | 
 |  | +     + lbitlib.c
 | 
											
												
													
														|  | 
 |  | +     + lcode.c
 | 
											
												
													
														|  | 
 |  | +     + lcorolib.c
 | 
											
												
													
														|  | 
 |  | +     + lctype.c
 | 
											
												
													
														|  | 
 |  | +     + ldblib.c
 | 
											
												
													
														|  | 
 |  | +     + ldebug.c
 | 
											
												
													
														|  | 
 |  | +     + ldo.c
 | 
											
												
													
														|  | 
 |  | +     + ldump.c
 | 
											
												
													
														|  | 
 |  | +     + lfunc.c
 | 
											
												
													
														|  | 
 |  | +     + lgc.c
 | 
											
												
													
														|  | 
 |  | +     + linit.c
 | 
											
												
													
														|  | 
 |  | +     + liolib.c
 | 
											
												
													
														|  | 
 |  | +     + llex.c
 | 
											
												
													
														|  | 
 |  | +     + lmathlib.c
 | 
											
												
													
														|  | 
 |  | +     + lmem.c
 | 
											
												
													
														|  | 
 |  | +     + loadlib.c
 | 
											
												
													
														|  | 
 |  | +     + lobject.c
 | 
											
												
													
														|  | 
 |  | +     + lopcodes.c
 | 
											
												
													
														|  | 
 |  | +     + loslib.c
 | 
											
												
													
														|  | 
 |  | +     + lparser.c
 | 
											
												
													
														|  | 
 |  | +     + lstate.c
 | 
											
												
													
														|  | 
 |  | +     + lstring.c
 | 
											
												
													
														|  | 
 |  | +     + lstrlib.c
 | 
											
												
													
														|  | 
 |  | +     + ltable.c
 | 
											
												
													
														|  | 
 |  | +     + ltablib.c
 | 
											
												
													
														|  | 
 |  | +     + ltm.c
 | 
											
												
													
														|  | 
 |  | +     + lundump.c
 | 
											
												
													
														|  | 
 |  | +     + lvm.c
 | 
											
												
													
														|  | 
 |  | +     + lzio.c
 | 
											
												
													
														|  | 
 |  | +  - build/sqlite3.c
 | 
											
												
													
														|  | 
 |  | +  - build/sqlite3.h
 | 
											
												
													
														|  | 
 |  | +  - build/lsqlite3.c
 |