70 lines
2.1 KiB
C++
70 lines
2.1 KiB
C++
//
|
|
// Created by SunnyQjm on 2020/12/8 上午9:06.
|
|
//
|
|
|
|
#include <iostream>
|
|
#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<MIN::MINWebResponse> 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<MINWebRequest>(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";
|
|
|
|
std::cout << getMINHttpMethodEnumFromStr("GET") << std::endl;
|
|
std::cout << getMINHttpStatusEnumFromStr("Continue") << std::endl;
|
|
|
|
service.GET("/getUserInfo", [](std::shared_ptr<MINWebRequest> &request,
|
|
std::shared_ptr<MINWebResponse> &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();
|
|
} |