Add Method Routing and case insensitive routing patterns
This commit is contained in:
59
main.cpp
59
main.cpp
@@ -10,13 +10,20 @@ int main() {
|
||||
return res;
|
||||
});
|
||||
|
||||
router.Handle("/echo/{name}", [](Request req, Response res) -> Response {
|
||||
router.Handle("GET /echo/{name}", [](Request req, Response res) -> Response {
|
||||
std::string name = req.path.Get("name").value_or("No Name given");
|
||||
res.SetPayload("Hello " + name);
|
||||
res.SetContentType("text/plain");
|
||||
return res;
|
||||
});
|
||||
|
||||
router.Handle("POST /echo/{name}", [](Request req, Response res) -> Response {
|
||||
std::string name = req.path.Get("name").value_or("No Name given");
|
||||
res.SetPayload("Hello with Post" + name);
|
||||
res.SetContentType("text/plain");
|
||||
return res;
|
||||
});
|
||||
|
||||
router.Handle("/", [](Request req, Response res) -> Response {
|
||||
res.SetPayload("Main");
|
||||
res.SetContentType("text/plain");
|
||||
@@ -26,53 +33,3 @@ int main() {
|
||||
router.Start();
|
||||
return 0;
|
||||
}
|
||||
|
||||
// void server() {
|
||||
// int serverSocket = socket(AF_INET, SOCK_STREAM, 0);
|
||||
// sockaddr_in serverAddress;
|
||||
// serverAddress.sin_family = AF_INET;
|
||||
// serverAddress.sin_port = htons(8080);
|
||||
// serverAddress.sin_addr.s_addr = INADDR_ANY;
|
||||
//
|
||||
// int err = bind(serverSocket, (struct sockaddr *)&serverAddress,
|
||||
// sizeof(serverAddress));
|
||||
// if (err != 0) {
|
||||
// std::cout << "error binding " << strerror(errno) << std::endl;
|
||||
// exit(1);
|
||||
// }
|
||||
//
|
||||
// err = listen(serverSocket, 5);
|
||||
// if (err != 0) {
|
||||
// std::cout << "error listening " << strerror(errno) << std::endl;
|
||||
// exit(1);
|
||||
// }
|
||||
//
|
||||
// std::vector<std::byte> buffer(1024);
|
||||
// while (true) {
|
||||
// int clientSocket = accept(serverSocket, nullptr, nullptr);
|
||||
// int read = recv(clientSocket, buffer.data(), buffer.size(), 0);
|
||||
// buffer.resize(read);
|
||||
// Request req(buffer);
|
||||
// Response res = Response(http::statusCode::NOT_FOUND);
|
||||
// if (req.HasData()) {
|
||||
// auto data = req.Data();
|
||||
// res.SetPayload(data);
|
||||
// } else {
|
||||
// res.SetPayload("Hello world!");
|
||||
// }
|
||||
//
|
||||
// res.SetContentType("text/plain");
|
||||
// res.Send(clientSocket);
|
||||
// close(clientSocket);
|
||||
// }
|
||||
//
|
||||
// if (shutdown(serverSocket, SHUT_RDWR) < 0) {
|
||||
// std::cout << "error shutdown " << strerror(errno) << std::endl;
|
||||
// exit(1);
|
||||
// }
|
||||
//
|
||||
// if (close(serverSocket) < 0) {
|
||||
// std::cout << "error closing socket " << strerror(errno) << std::endl;
|
||||
// exit(1);
|
||||
// }
|
||||
// }
|
||||
|
||||
Reference in New Issue
Block a user