#ifndef __HTTPPageList_h__ # define __HTTPPageList_h__ # include "TCPSession.h" # include "ZString.h" # include "__index.h" # include "__script.h" # include "__style.h" # include "__favicon_ico.h" # include "_image.h" namespace http { class HTTPPageList { public: HTTPPageList() { add(index, "/"); add(script, "/script"); add(style, "/style"); add(favicon_ico, "/favicon.ico"); add(image, "/image/{image_name}"); add(index, "/{path}"); } bool processRequest(HTTPParameters &p); void add(HTTPPage &page, std::string entryURL); void remove(HTTPPage &page); void matchUri(coreutils::ZString &comparator, coreutils::ZString &uri); protected: std::map pages; private: __index index; __script script; __style style; __favicon_ico favicon_ico; _image image; }; } #endif