00001 00006 #include "requestmapper.h" 00007 #include "static.h" 00008 #include "staticfilecontroller.h" 00009 #include "controller/dumpcontroller.h" 00010 #include "controller/templatecontroller.h" 00011 #include "controller/formcontroller.h" 00012 #include "controller/fileuploadcontroller.h" 00013 #include "controller/sessioncontroller.h" 00014 00015 RequestMapper::RequestMapper(QObject* parent) 00016 :HttpRequestHandler(parent) {} 00017 00018 void RequestMapper::service(HttpRequest& request, HttpResponse& response) { 00019 QByteArray path=request.getPath(); 00020 qDebug("RequestMapper: path=%s",path.data()); 00021 00022 if (path.startsWith("/dump")) { 00023 DumpController().service(request, response); 00024 } 00025 00026 else if (path.startsWith("/template")) { 00027 TemplateController().service(request, response); 00028 } 00029 00030 else if (path.startsWith("/form")) { 00031 FormController().service(request, response); 00032 } 00033 00034 else if (path.startsWith("/file")) { 00035 FileUploadController().service(request, response); 00036 } 00037 00038 else if (path.startsWith("/session")) { 00039 SessionController().service(request, response); 00040 } 00041 00042 // All other pathes are mapped to the static file controller. 00043 else { 00044 Static::staticFileController->service(request, response); 00045 } 00046 }