Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mirage/ocaml-uri

RFC3986 URI parsing library for OCaml
https://github.com/mirage/ocaml-uri

ocaml rfc-3986 uri url

Last synced: 5 days ago
JSON representation

RFC3986 URI parsing library for OCaml

Awesome Lists containing this project

README

        

Uri -- an RFC3986 URI/URL parsing library
-----------------------------------------

This is an OCaml implementation of the [RFC3986](http://tools.ietf.org/html/rfc3986) specification
for parsing URI or URLs.

## Installation

### Via OPAM

The [OPAM](https://opam.ocaml.org) package manager can be used to install this library from source.

opam install uri

### Locally

You can build the source code locally via the [dune](https://github.com/ocaml/dune)
build system.

opam install uri --deps-only
eval `opam config env`
dune build
dune runtest

will install the dependencies via OPAM, build the library and then run the tests in the [lib_test/](lib_test/) directory.

## Usage

Once installed, there are three ocamlfind packages available for your use:

- `uri` - the base `Uri` module
- `uri-re` - the _legacy_ implementation
At the beginning, `uri` used `re` to parse a `string`. Since 4.0.0,
we use `angstrom` - if something breaks with `uri.4.0.0`, you should compare
with `uri-re` and submit an issue. `uri-re` is deprecated and it will be
removed on the next release (see #150)
- `uri.top` - the toplevel printers for use with [utop](https://github.com/diml/utop)
- `uri-sexp` - provides converters to and from s-expressions (via a `Uri_sexp.t` type alias)
- `uri.services` - the `Uri_services` module that provides the equivalent of *[services(5)](http://man7.org/linux/man-pages/man5/services.5.html)*
- `uri.services_full` - the `Uri_services_full` module that provides a complete copy of the `/etc/services` file. This is quite large and normally not needed.

## Contact

- Issues:
- E-mail:
- API Documentation:

[![Build Status](https://travis-ci.org/mirage/ocaml-uri.png)](https://travis-ci.org/mirage/ocaml-uri)