diff --git a/CMakeLists.txt b/CMakeLists.txt index 359295a4..d6d66d93 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -662,3 +662,7 @@ target_link_libraries(aes_ctr128 mist ) add_test(AESTest COMMAND aes_ctr128) + +add_executable(urltest ${SOURCE_DIR}/test/url.cpp) +target_link_libraries(urltest mist) +add_test(URLTest COMMAND urltest) diff --git a/test/url.cpp b/test/url.cpp new file mode 100644 index 00000000..6929c614 --- /dev/null +++ b/test/url.cpp @@ -0,0 +1,24 @@ +#include "../lib/http_parser.cpp" +#include + +int main(int argc, char ** argv){ + if (argc < 2){ + std::cout << "Usage: " << argv[0] << " URL" << std::endl; + return 1; + } + HTTP::URL u(argv[1]); + for (int i = 1; i < argc; ++i){ + if (i > 1){ + u = u.link(argv[i]); + } + std::cout << argv[i] << " -> " << u.getUrl() << std::endl; + std::cout << "Protocol: " << u.protocol << std::endl; + std::cout << "Host: " << u.host << std::endl; + std::cout << "Port: " << u.getPort() << std::endl; + std::cout << "Path: " << u.path << std::endl; + std::cout << "Query: " << u.args << std::endl; + std::cout << "Fragment: " << u.frag << std::endl; + } + return 0; +} +