| Title: | A Fast 'WHATWG' Compliant URL Parser | 
| Version: | 0.3.4 | 
| Description: | A wrapper for 'ada-url', a 'WHATWG' compliant and fast URL parser written in modern 'C++'. Also contains auxiliary functions such as a public suffix extractor. | 
| URL: | https://gesistsa.github.io/adaR/, https://github.com/gesistsa/adaR | 
| BugReports: | https://github.com/gesistsa/adaR/issues | 
| License: | MIT + file LICENSE | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.3.1 | 
| LinkingTo: | Rcpp | 
| Imports: | Rcpp, triebeard | 
| Suggests: | knitr, rmarkdown, testthat (≥ 3.0.0) | 
| Config/testthat/edition: | 3 | 
| Depends: | R (≥ 4.2) | 
| VignetteBuilder: | knitr | 
| NeedsCompilation: | yes | 
| Packaged: | 2025-01-16 10:40:30 UTC; david | 
| Author: | David Schoch | 
| Maintainer: | David Schoch <david@schochastics.net> | 
| Repository: | CRAN | 
| Date/Publication: | 2025-01-16 11:50:02 UTC | 
Clear a specific component of URL
Description
These functions clears a specific component of URL.
Usage
ada_clear_port(url, decode = TRUE)
ada_clear_hash(url, decode = TRUE)
ada_clear_search(url, decode = TRUE)
Arguments
| url | character. one or more URL to be parsed | 
| decode | logical. Whether to decode the output (see  | 
Value
character, NA if not a valid URL
Examples
url <- "https://user_1:password_1@example.org:8080/dir/../api?q=1#frag"
ada_clear_port(url)
ada_clear_hash(url)
ada_clear_search(url)
Get a specific component of URL
Description
These functions get a specific component of URL.
Usage
ada_get_href(url, decode = TRUE)
ada_get_username(url, decode = TRUE)
ada_get_password(url, decode = TRUE)
ada_get_port(url, decode = TRUE)
ada_get_hash(url, decode = TRUE)
ada_get_host(url, decode = TRUE)
ada_get_hostname(url, decode = TRUE)
ada_get_pathname(url, decode = TRUE)
ada_get_search(url, decode = TRUE)
ada_get_protocol(url, decode = TRUE)
ada_get_domain(url, decode = TRUE)
ada_get_basename(url)
Arguments
| url | character. one or more URL to be parsed | 
| decode | logical. Whether to decode the output (see  | 
Value
character, NA if not a valid URL
Examples
url <- "https://user_1:password_1@example.org:8080/dir/../api?q=1#frag"
ada_get_href(url)
ada_get_username(url)
ada_get_password(url)
ada_get_port(url)
ada_get_hash(url)
ada_get_host(url)
ada_get_hostname(url)
ada_get_pathname(url)
ada_get_search(url)
ada_get_protocol(url)
ada_get_domain(url)
ada_get_basename(url)
## these functions are vectorized
urls <- c("http://www.google.com", "http://www.google.com:80", "noturl")
ada_get_port(urls)
Check if URL has a certain component
Description
These functions check if URL has a certain component.
Usage
ada_has_credentials(url)
ada_has_empty_hostname(url)
ada_has_hostname(url)
ada_has_non_empty_username(url)
ada_has_non_empty_password(url)
ada_has_port(url)
ada_has_hash(url)
ada_has_search(url)
Arguments
| url | character. one or more URL to be parsed | 
Value
logical, NA if not a valid URL.
Examples
url <- c("https://user_1:password_1@example.org:8080/dir/../api?q=1#frag")
ada_has_credentials(url)
ada_has_empty_hostname(url)
ada_has_hostname(url)
ada_has_non_empty_username(url)
ada_has_non_empty_password(url)
ada_has_port(url)
ada_has_hash(url)
ada_has_search(url)
## these functions are vectorized
urls <- c("http://www.google.com", "http://www.google.com:80", "noturl")
ada_has_port(urls)
Set a specific component of URL
Description
These functions set a specific component of URL.
Usage
ada_set_href(url, input, decode = TRUE)
ada_set_username(url, input, decode = TRUE)
ada_set_password(url, input, decode = TRUE)
ada_set_port(url, input, decode = TRUE)
ada_set_host(url, input, decode = TRUE)
ada_set_hostname(url, input, decode = TRUE)
ada_set_pathname(url, input, decode = TRUE)
ada_set_protocol(url, input, decode = TRUE)
ada_set_search(url, input, decode = TRUE)
ada_set_hash(url, input, decode = TRUE)
Arguments
| url | character. one or more URL to be parsed | 
| input | character. containing new component for URL. Vector of length 1 or same length as url. | 
| decode | logical. Whether to decode the output (see  | 
Value
character, NA if not a valid URL
Examples
url <- "https://user_1:password_1@example.org:8080/dir/../api?q=1#frag"
ada_set_href(url, "https://google.de")
ada_set_username(url, "user_2")
ada_set_password(url, "hunter2")
ada_set_port(url, "1234")
ada_set_hash(url, "#section1")
ada_set_host(url, "example.de")
ada_set_hostname(url, "example.de")
ada_set_pathname(url, "path/")
ada_set_search(url, "q=2")
ada_set_protocol(url, "ws:")
Use ada-url to parse a url
Description
Use ada-url to parse a url
Usage
ada_url_parse(url, decode = TRUE)
Arguments
| url | character. one or more URL to be parsed | 
| decode | logical. Whether to decode the output (see  | 
Details
For details on the returned components refer to the introductory vignette.
Value
A data frame of the url components: href, protocol, username, password, host, hostname, port, pathname, search, and hash
Examples
ada_url_parse("https://user_1:password_1@example.org:8080/dir/../api?q=1#frag")
Extract the public suffix from a vector of domains or hostnames
Description
Extract the public suffix from a vector of domains or hostnames
Usage
public_suffix(domains)
Arguments
| domains | character. vector of domains or hostnames | 
Value
public suffixes of domains as character vector
Examples
public_suffix("http://example.com")
# doesn't work for general URLs
public_suffix("http://example.com/path/to/file")
# extracting hostname first does the trick
public_suffix(ada_get_hostname("http://example.com/path/to/file"))
Function to percent-decode characters in URLs
Description
Similar to utils::URLdecode
Usage
url_decode2(url)
Arguments
| url | a character vector | 
Value
precent decoded URLs as character vector
Examples
url_decode2("Hello%20World")