diff options
author | cflip <cflip@cflip.net> | 2022-07-07 13:47:27 -0600 |
---|---|---|
committer | cflip <cflip@cflip.net> | 2022-07-07 13:47:27 -0600 |
commit | 280c39bc4d1aa948136e7c3631326e71b2dd1871 (patch) | |
tree | d69f0941c07e6419045ab33a346e73c7b6ce5b8c /src/main.cpp | |
parent | 76337013af1a0dfa8c5da79dd0f008166000001d (diff) |
Implement simple URI parsing for multiple pages
Diffstat (limited to 'src/main.cpp')
-rw-r--r-- | src/main.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/main.cpp b/src/main.cpp index 25fb548..bb475bd 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -18,12 +18,21 @@ int main(int argc, char** argv) HttpResponse response; response.add_header("Server", "cfws"); - if (request.header("Accept-Language").find("zh") == std::string::npos) { - response.set_status_code(HttpStatusCode::Forbidden); - response.set_content("Please set your language to Chinese to access this page."); - } else { + if (request.uri() == "/") { response.set_status_code(HttpStatusCode::OK); - response.set_content("Welcome to the page."); + response.add_header("Content-Type", "text/html"); + response.set_content("<h1>Welcome to the web server!</h1><a href=\"/language\">Click here!</a>"); + } else if (request.uri() == "/language") { + if (request.header("Accept-Language").find("zh") == std::string::npos) { + response.set_status_code(HttpStatusCode::Forbidden); + response.set_content("Please set your language to Chinese to access this page."); + } else { + response.set_status_code(HttpStatusCode::OK); + response.set_content("Welcome to the page."); + } + } else { + response.set_status_code(HttpStatusCode::NotFound); + response.set_content("Page not found!"); } client.send(response); |