# Module Netencoding.Url

    module Url: sig .. end

Encoding/Decoding within URLs:

The following two functions perform the '%'-substitution for characters that may otherwise be interpreted as metacharacters.

According to: RFC 1738, RFC 1630

Option `plus`: This option has been added because there are some implementations that do not map ' ' to '+', for example Javascript's `escape` function. The default is `true` because this is the RFC- compliant definition.

    val decode : ?plus:bool -> ?pos:int -> ?len:int -> string -> string

Option `plus`: Whether '+' is converted to space. The default is true. If false, '+' is returned as it is.

The optional arguments `pos` and `len` may restrict the string to process to this substring.

    val encode : ?plus:bool -> string -> string

Option `plus`: Whether spaces are converted to '+'. The default is true. If false, spaces are converted to "%20", and only %xx sequences are produced.
URL-encoded parameters:

The following two functions create and analyze URL-encoded parameters. Format: `name1=val1&name2=val2&...`

    val mk_url_encoded_parameters : (string * string) list -> string

The argument is a list of (name,value) pairs. The result is the single URL-encoded parameter string.

    val dest_url_encoded_parameters : string -> (string * string) list

The argument is the URL-encoded parameter string. The result is the corresponding list of (name,value) pairs. Note: Whitespace within the parameter string is ignored. If there is a format error, the function fails.