yast2 |
modules/URL.ycp |
Manipulate and Parse URLs | |
|
|
This module has an unstable interface. |
Imports
Global VariablesGlobal Functions |
TODO: - read URI(3) - esp. compare the regex mentioned in the URI(3) with ours: my($scheme, $authority, $path, $query, $fragment) = $uri =~ m|^(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?|;
Transform map used for (un)escaping characters in username/password part of an URL. It doesn't contain '%' because this character must be used in a particular order (the first or the last) during processing
Transform map used for (un)escaping characters in file location part of an URL. It doesn't contain '%' because this character must be used in a particular order (the first or the last) during processing
Transform map used for (un)escaping characters in query part of a URL. It doesn't contain '%' because this character must be used in a particular order (the first or the last) during processing
Escape reserved characters in string used as a part of URL (e.g. '%' => '%25', '@' => '%40'...)
- Parameters:
-
in input string to escape transform
- Return value:
-
escaped string
Escape reserved characters in string used as a part of URL (e.g. '%' => '%25', '@' => '%40'...)
- Parameters:
-
in input string to escape transform
- Return value:
-
escaped string
Tokenize URL
- Parameters:
-
url URL to be parsed
- Return value:
-
URL split to tokens
- Example
-
Parse("http://name:pass@www.suse.cz:80/path/index.html?question#part") -> $[ "scheme" : "http", "host" : "www.suse.cz" "port" : "80", "path" : /path/index.html", "user" : "name", "pass" : "pass", "query" : "question", "fragment": "part" ]
Check URL
- Parameters:
-
url URL to be checked
- Return value:
-
true if correct
Build URL from tokens as parsed with Parse
- Parameters:
-
tokens
- Return value:
-
url, empty string if invalid data is used to build the url.
Format URL - truncate the middle part of the directory to fit to the requested lenght.
Elements in the middle of the path specification are replaced by ellipsis (...). The result migth be longer that requested size if other URL parts are longer than the requested size. If the requested size is greater than size of the full URL then full URL is returned. Only path element of the URL is changed the other parts are not modified (e.g. protocol name)
- Parameters:
-
tokens parsed URL len requested maximum lenght of the output string
- Return value:
-
Truncated URL
- Example
-
FormatURL("http://download.opensuse.org/very/log/path/which/will/be/truncated/target_file", 45) -> "http://download.opensuse.org/.../target_file" FormatURL("http://download.opensuse.org/very/log/path/which/will/be/truncated/target_file", 60) -> "http://download.opensuse.org/very/.../be/truncated/target_file"