URI encoding, decoding, and parsing for Quadrate.
quadpm install https://github.com/quadrate-language/uriuse uri
fn main() {
// Percent-encode a string
"hello world" uri::encode -> encoded
encoded print nl // "hello%20world"
// Decode a percent-encoded string
"hello%20world" uri::decode -> decoded
decoded print nl // "hello world"
// Parse a URI
"https://example.com:8080/path?q=1#top" uri::parse -> u
u @scheme print nl // "https"
u @host print nl // "example.com"
u @port print nl // 8080
u @path print nl // "/path"
u @query print nl // "q=1"
// Query parameter access
"foo=bar&x=1" "foo" uri::query_get -> val
val print nl // "bar"
// Build a URI from components
u uri::build -> url
url print nl
}
Uri- Parsed URI components (scheme, host, port, path, query, fragment)
encode(s:str -- encoded:str)- Percent-encode a stringdecode(s:str -- decoded:str)- Decode a percent-encoded stringparse(s:str -- u:ptr)- Parse a URI string into componentsbuild(u:ptr -- s:str)- Build a URI string from componentsquery_get(query:str key:str -- value:str)- Get query parameter valuequery_has(query:str key:str -- exists:i64)- Check if query parameter exists
MIT