← all modules
module

stdlib::http::form

defined in C:\Users\bye45\.glide\bin/src/stdlib/http/form.glide

Ordered list of (name, value) pairs. Order matters — repeating a

struct struct FormData

Ordered list of (name, value) pairs. Order matters — repeating a key is legal and meaningful for some servers.

fn fn form_decode(s: string) -> !*FormData

Decode a k=v&k=v body into a FormData. Mirrors FormData.encode. Returns err on malformed percent-encoding.

glide
let r: !*FormData = form_decode("user=alice&pass=s3cret%21");
if r.ok {
    for let i: int = 0; i < r.val.len(); i++ {
        println!(r.val.name_at(i), "=", r.val.value_at(i));
    }
}
fn fn http_post_form(url: string, form: *FormData) -> !*HttpResponse

One-shot form POST. Builds an HttpClient, sets Content-Type, sends. For repeated calls share a client (set c.jar, etc.) and call c.post(url, form.encode(), "application/x-www-form-urlencoded").

glide
let f: *FormData = FormData::new();
f.set("user", "alice"); f.set("pass", "secret");
let r: !*HttpResponse = http_post_form("https://api.example.com/login", f);
if r.ok { println!(r.val.status); }