// // Created by SunnyQjm on 2020/12/8 上午9:06. // #include #include "MINWebServer/server/Service.h" #include "MINWebServer/server/Server.h" #include "MINWebServer/message/MINWebRequest.h" #include "MINWebServer/message/MINWebResponse.h" using namespace MIN; using namespace MIN::MINWebServer; class MINHttpServerImpl : public MINHttpServer { public: void setOnRequestListener(const OnRequestReceiveListener &onRequestReceiveListener) override { this->listener = onRequestReceiveListener; } void replyResponse(std::shared_ptr response) override { std::cout << std::string((char *)response->content, response->contentLength) << std::endl; std::cout << response->body << std::endl; } void start(bool wait) override { MINWebRequest request; request.service = "/MIN/Web/test"; request.url = "/MIN/Web/test/getUserInfo?id=1"; request.path = "/getUserInfo?id=1"; // request.path = "/test.cpp"; request.method = MIN_HTTP_GET; auto requestPtr = make_shared(request); this->listener(requestPtr); } private: OnRequestReceiveListener listener; }; int main () { Service service; service.documentRoot = "/var/www"; service.indexOf = "/sunnyqjm.github.io"; service.homePage = "index.html"; service.baseUrl = "/MIN/Web/test"; service.GET("/getUserInfo", [](std::shared_ptr &request, std::shared_ptr &response) { nlohmann::json result = { {"username", "qjm253"}, {"description", "What?"} }; response->contentType = APPLICATION_JSON; response->body = result.dump(); return 0; }); MINHttpServerImpl minHttpServer; Server::ServerConfig serverConfig; serverConfig.service = &service; serverConfig.minHttpServer = &minHttpServer; Server server(serverConfig); server.run(); }