Skip to content

CrazyPandaLimited/Panda-URI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Panda-URI

Panda-URI - fast URI framework. It conforms to RFC 3986.

Synopsis

URISP u = new URI("http://mysite.com:8080/my/path?a=b&c=d#myhash");
CHECK(u->scheme() == "http");
CHECK(u->host() == "mysite.com");
CHECK(u->port() == 8080);
CHECK(u->path() == "/my/path");
CHECK(u->query_string() == "a=b&c=d");
CHECK(u->fragment() == "myhash");

URISP v = new URI(*u); // clone
v->port(443);
CHECK(v->port() == 443);

v->fragment("any_else");
CHECK(v->fragment() == "any_else");

CHECK(v->to_string() == "http://mysite.com:443/my/path?a=b&c=d#any_else");

Build and Install

Panda-URI is suppose to be built with CMake.

mkdir build
cd build
cmake ..
cmake --build .
cmake --build . --target install

It can be used either way as installed stand alone library or subdirectory. It depends on

Tests use Catch2. Tests are not built by default. To enable testing set PANDA_URI_TESTS=ON.

Parser is generated by Ragel. All generated sources are commited to git so you do not need Ragel to build Panda-URI.

If you have any error messages about Ragel or files parser.cc and parser_ext.cc not found then check your git status. make clean deletes generated files, so you should launch git checkout . to recover them.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •