v2026.5.3
All Bundles
Bundle Shared networking types used across all HTTP libraries: Url (parsing and construction), Response (status code, headers, body), Cookie, and WebDownloader for streaming downloads. Compile with -lib net.

Url

URL parser, encoder and decoder

Implements: Compare

Operations

Compare #

Compares two objects

method : public : Compare(rhs:System.Compare) ~ Int

Parameters

NameTypeDescription
rhsComparecompare object

Return

TypeDescription
Int0 if equal, -1 if right-hand side i greater, 1 if left-hand side is greater

Decode # native

General decoding for HTML or XML strings

function : native : Decode(str:String) ~ String

Parameters

NameTypeDescription
strStringencoded string

Return

TypeDescription
Stringdecoded string

Example

encoded := "hello%20world%20%26%20foo%3Dbar";
decoded := Web.HTTP.Url->Decode(encoded);
decoded->PrintLine();  # hello world & foo=bar

Encode # native

General encoding for HTML or XML strings

function : native : Encode(str:String) ~ String

Parameters

NameTypeDescription
strStringstring to encode

Return

TypeDescription
Stringencoded string

Example

raw := "hello world & foo=bar";
encoded := Web.HTTP.Url->Encode(raw);
encoded->PrintLine();  # hello%20world%20%26%20foo%3Dbar

GetFragment #

Gets fragment

method : public : GetFragment() ~ String

Return

TypeDescription
Stringfragment, Nil if not present

GetHost #

Gets host

method : public : GetHost() ~ String

Return

TypeDescription
Stringhost, Nil if not present

GetPath #

Gets path

method : public : GetPath() ~ String

Return

TypeDescription
Stringpath, Nil if not present

GetPort #

Gets port

method : public : GetPort() ~ Int

Return

TypeDescription
Intport, -1 if not present

GetQuery #

Gets scheme

method : public : GetQuery() ~ String

Return

TypeDescription
Stringscheme, Nil if not present

GetQueryParameters #

Gets the name/value query parameters

method : public : GetQueryParameters() ~ Map<String,String>

Return

TypeDescription
Map<String,String>query parameters, Nil if URL cannot be parsed

Example

url := Web.HTTP.Url->New("https://api.example.com/search?name=foo&lang=objeck");
params := url->GetQueryParameters();
params->Find("name")->PrintLine();  # foo
params->Find("lang")->PrintLine();  # objeck

GetScheme #

Gets scheme

method : public : GetScheme() ~ String

Return

TypeDescription
Stringscheme, Nil if not present

GetUrl #

Gets original URL

method : public : GetUrl() ~ String

Return

TypeDescription
Stringoriginal URL

HashID #

Returns a hash ID for the given class

method : public : HashID() ~ Int

Return

TypeDescription
Inthash ID

New # constructor

Parsed URL into components

New(url:String)

Parameters

NameTypeDescription
urlStringraw URL

Example

url := Web.HTTP.Url->New("https://example.com:8080/path?q=hello#section");
url->GetScheme()->PrintLine();  # https
url->GetHost()->PrintLine();    # example.com
url->GetPort()->PrintLine();    # 8080
url->GetPath()->PrintLine();    # /path
url->GetQuery()->PrintLine();   # q=hello
url->GetFragment()->PrintLine(); # section

Parsed #

Determines if given URL has been parsed correctly

method : public : Parsed() ~ Bool

Return

TypeDescription
Booltrue if parsed, false otherwise

ToString #

String representation of URL

method : public : ToString() ~ String

Return

TypeDescription
Stringstring representation of URL

Example

url := Web.HTTP.Url->New("https://example.com/path?q=hello");
url->ToString()->PrintLine();
# 'https://example.com/path?q=hello
#   scheme='https'
#   host='example.com'
#   path='/path'
#   query='q=hello'