Merry Christmas, Happy Hanukkah and Happy New Year to everybody 
Here is a class HttpServer.
All you need to do is to inherit this class and implement the function processHttpRequest. This function is called when browser requests a page from your server. For example:
class MyCoolServer: public HttpServer{
public:
void processHttpRequest(HttpServerRequest *R){
R->echo(T("<html><head><title>Hi from the Cool Server!</title></head>"));
R->echo(T("<body><b>Cool Server</b> is ready to serve you!</body>"));
}
};
To use youe class, do the following:
...
private:
MyCoolServer the_server;
public:
void buttonClicked(Button* buttonThatWasClicked){
if(buttonThatWasClicked == startHttpdButton){
the_server.setup(
80 /* or any other port*/,
"Cool Server" /* the server name is required, it is sent to browser in headers */
);
the_server.startServer();
}
}
Once it is started, you can visit “http://localhost:XX/path.html”, where XX is a given port (not required if you use the default HTTP port 80).
Server can prepare path, host, parses GET and POST vars (text only).
This server lacks:
- ability to send binary files to the browser (images, audio, etc)
- hanging audio/video streams
- sending streams
- parse incoming binary data (file POST)
- and many more…
But now it is easy to add these functions, the hardest part is done 
I am going to do some of them and publish it here.
Files:
juce_HttpServer.h - the base class for your server
SomeHttpServer.h - a simple example of a server implementation. Demonstrates some server capabilities.
SomeHttpServer.exe - compiled Windows binary.
WARNING: The class I wrote is just an example of how to create a web server using Juce. It is not aimed to handle hard loads or to be secure. Please don’t install if for a public access on your hosted or dedicated machines. For these purposes you have Apache, IIS, nginx and other mature http servers.
Use this class, for a local desktop purposes or as an example for your own web server, written from scratch.