Warning, /maui/mauikit-documents/src/code/epub/qhttpserver/README.md is written in an unsupported language. File is not indexed.
0001 QHttpServer 0002 =========== 0003 0004 A Qt HTTP Server - because hard-core programmers write web-apps in C++ :) 0005 0006 It uses Ryan Dahl's [HTTP Parser](http://github.com/ry/http-parser) and is asynchronous and does not require any inheritance. 0007 0008 **NOTE: QHttpServer is NOT fully HTTP compliant right now! DO NOT use it for 0009 anything complex** 0010 0011 Installation 0012 ------------ 0013 0014 Requires Qt 4. 0015 0016 qmake && make && su -c 'make install' 0017 0018 To link to your projects put this in your project's qmake project file 0019 0020 LIBS += -lqhttpserver 0021 0022 By default, the installation prefix is /usr/local. To change that to /usr, 0023 for example, run: 0024 0025 qmake -r PREFIX=/usr 0026 0027 Usage 0028 ----- 0029 0030 Include the headers 0031 0032 #include <qhttpserver.h> 0033 #include <qhttprequest.h> 0034 #include <qhttpresponse.h> 0035 0036 Create a server, and connect to the signal for new requests 0037 0038 QHttpServer *server = new QHttpServer; 0039 connect(server, SIGNAL(newRequest(QHttpRequest*, QHttpResponse*)), 0040 handler, SLOT(handle(QHttpRequest*, QHttpResponse*))); 0041 0042 // let's go 0043 server->listen(8080); 0044 0045 In the handler, you may dispatch on routes or do whatever other things 0046 you want. See the API documentation for what information 0047 is provided about the request via the QHttpRequest object. 0048 0049 To send data back to the browser and end the request: 0050 0051 void Handler::handle(QHttpRequest *req, QHttpResponse *resp) 0052 { 0053 resp->setHeader("Content-Length", 11); 0054 resp->writeHead(200); // everything is OK 0055 resp->write("Hello World"); 0056 resp->end(); 0057 } 0058 0059 The server and request/response objects emit various signals 0060 and have guarantees about memory management. See the API documentation for 0061 these. 0062 0063 Contributors 0064 ------------ 0065 0066 * Nikhil Marathe (maintainer) 0067 * David Wolinsy