A URI (and IRI) parser with a straightforward API, based upon uriparser
C
Latest commit fafac3d Jun 30, 2014 @nevali Install a proper liburi.pc
Permalink
Failed to load latest commit information.
debian Install a proper liburi.pc Jun 30, 2014
m4 @ 1d3f282 Update m4 macros Sep 15, 2013
t Update absent-port test to reflect documented uri_portnum() behaviour. Feb 8, 2014
uriparser @ 1c0bfb0 Update upstream uriparser Feb 8, 2014
util LIBURI-3: Add liburi-config Dec 7, 2012
.gitignore LIBURI-1: Add liburi.pc.in and liburi-uninstalled.pc.in Dec 7, 2012
.gitmodules Update to use my fixed fork Sep 19, 2013
LICENSE-2.0 Initial commit. Dec 4, 2012
Makefile.am Install a proper liburi.pc Jun 30, 2014
README.md Add "building from git" section Dec 5, 2012
TODO Clean up util/uriparse. Dec 6, 2012
configure.ac Install a proper liburi.pc Jun 30, 2014
liburi-uninstalled.pc.in Install a proper liburi.pc Jun 30, 2014
liburi.3 Add additional documentation. Dec 5, 2012
liburi.3.html Add additional documentation. Dec 5, 2012
liburi.3.xml Add additional documentation. Dec 5, 2012
liburi.h Add uri_stralloc() Sep 15, 2013
liburi.pc.in Install a proper liburi.pc Jun 30, 2014
p_liburi.h Add uri_absolute_path() as distinct from uri_absolute(); set errno on… Dec 5, 2012
parse.c uri_create_uri(): source URI should be const Dec 4, 2012
props.c Handle absolute paths correctly. Sep 15, 2013
recompose.c Add uri_stralloc() Sep 15, 2013
uri_absolute.3 Correct uri_absolute_path(3) source documentation. Feb 9, 2013
uri_absolute.3.html Add additional documentation. Dec 5, 2012
uri_absolute.3.xml Add additional documentation. Dec 5, 2012
uri_absolute_path.3 Correct uri_absolute_path(3) source documentation. Feb 9, 2013
uri_absolute_path.3.html Correct uri_absolute_path(3) source documentation. Feb 9, 2013
uri_absolute_path.3.xml Correct uri_absolute_path(3) source documentation. Feb 9, 2013
uri_auth.3 Add additional documentation. Dec 5, 2012
uri_auth.3.html Add additional documentation. Dec 5, 2012
uri_auth.3.xml Add additional documentation. Dec 5, 2012
uri_create_str.3 Add additional documentation. Dec 5, 2012
uri_create_str.3.html Add additional documentation. Dec 5, 2012
uri_create_str.3.xml Add additional documentation. Dec 5, 2012
uri_create_uri.3 Correct link to uri_create_str() Dec 4, 2012
uri_create_uri.3.html Correct link to uri_create_str() Dec 4, 2012
uri_create_uri.3.xml Correct link to uri_create_str() Dec 4, 2012
uri_destroy.3 Document uri_destroy() Dec 4, 2012
uri_destroy.3.html Document uri_destroy() Dec 4, 2012
uri_destroy.3.xml Document uri_destroy() Dec 4, 2012
uri_fragment.3 Add additional documentation. Dec 5, 2012
uri_fragment.3.html Add additional documentation. Dec 5, 2012
uri_fragment.3.xml Add additional documentation. Dec 5, 2012
uri_host.3 Add additional documentation. Dec 5, 2012
uri_host.3.html Add additional documentation. Dec 5, 2012
uri_host.3.xml Add additional documentation. Dec 5, 2012
uri_path.3 Add additional documentation. Dec 5, 2012
uri_path.3.html Add additional documentation. Dec 5, 2012
uri_path.3.xml Add additional documentation. Dec 5, 2012
uri_port.3 Adjust uri_portnum() semantics to return 0 if no port is present; upd… Dec 6, 2012
uri_port.3.html Adjust uri_portnum() semantics to return 0 if no port is present; upd… Dec 6, 2012
uri_port.3.xml Adjust uri_portnum() semantics to return 0 if no port is present; upd… Dec 6, 2012
uri_portnum.3 Adjust uri_portnum() semantics to return 0 if no port is present; upd… Dec 6, 2012
uri_portnum.3.html Adjust uri_portnum() semantics to return 0 if no port is present; upd… Dec 6, 2012
uri_portnum.3.xml Adjust uri_portnum() semantics to return 0 if no port is present; upd… Dec 6, 2012
uri_query.3 Add additional documentation. Dec 5, 2012
uri_query.3.html Add additional documentation. Dec 5, 2012
uri_query.3.xml Add additional documentation. Dec 5, 2012
uri_scheme.3 Add additional documentation. Dec 5, 2012
uri_scheme.3.html Add additional documentation. Dec 5, 2012
uri_scheme.3.xml Add additional documentation. Dec 5, 2012
uri_str.3 Add additional documentation. Dec 5, 2012
uri_str.3.html Add additional documentation. Dec 5, 2012
uri_str.3.xml Add additional documentation. Dec 5, 2012
uriparser-Makefile.am Initial commit. Dec 4, 2012
uriparser.m4 Use common m4 macros project. Feb 17, 2013

README.md

liburi is a simple interface for parsing URIs. Under the hood, the actual URI parsing is handled by uriparser -- liburi aims to provide an API which is easier to work with than uriparser's.

liburi provides:

  • The ability to parse IRIs
  • Accessor methods for each parsed URI component and information about the URIs

liburi is licensed under the Apache License 2.0, while uriparser is licensed under the New BSD license.

Building from git

You will need git, automake, autoconf and libtool. You'll also need a DocBook 5 and DocBook-XSL toolchain (i.e., xsltproc and the stylesheets) if you wish to rebuild the documentation. Both liburi and uriparser have minimal external dependencies.

$ git clone git://github.com/nevali/liburi.git
$ cd liburi
$ git submodule update --init --recursive
$ autoreconf -i
$ ./configure --prefix=/some/path
$ make
$ sudo make install