///|
fn main {
let media = @acceptkit.negotiate_media(
"application/json;q=0.9, text/html, application/*;q=0.6, */*;q=0.1",
["application/xml", "application/json", "text/html"],
)
match media {
Ok(decision) => println(@acceptkit.format_media_decision(decision))
Err(_) => println("media negotiation failed")
}
let language = @acceptkit.negotiate_language(
"zh-CN, zh;q=0.8, en;q=0.6, *;q=0.1",
["en-US", "zh-Hant", "zh-CN"],
)
match language {
Ok(decision) => println(@acceptkit.format_language_decision(decision))
Err(_) => println("language negotiation failed")
}
let preferences = @acceptkit.RequestPreferences(
accept="application/json, text/html;q=0.6",
accept_language="zh-CN, en;q=0.8",
accept_encoding="br, gzip;q=0.7, identity;q=0.1",
accept_charset="utf-8",
)
let response = @acceptkit.negotiate_response(
preferences,
["text/html", "application/json"],
["en-US", "zh-CN"],
["gzip", "br"],
["utf-8"],
)
match response {
Ok(result) => {
println(@acceptkit.format_response_summary(result.summary))
println(@acceptkit.response_header_block(result.summary))
}
Err(_) => println("response negotiation failed")
}
}