fn cleanup #
fn cleanup()
cleanup releases resources that were acquired initializing the underlying libcurl module.
fn custom_init #
fn custom_init(flag CustomInitFlag)
custom_init initializes libcurl with a custom flag.
fn download_file #
fn download_file(url string, file_path string) !Response
download_file downloads a document from the specified url
and saves it to the specified file_path
.
fn download_file_with_progress #
fn download_file_with_progress(url string, file_path string, mut download Download) !Response
download_file_with_progress downloads a document from the specified url
and saves it to the specified file_path
. download
must implement a progress(pos u64, size u64)
, and a finish()
method.
fn get #
fn get(url string) !Response
get sends a GET request to the specified url
and returns the response.
fn get_slice #
fn get_slice(url string, start usize, max_size ?usize) !Response
get_slice sends a GET request to the specified url
and returns a slice of the response content. Allocation of the received response as a vstring is postponed until the start
byte position is reached. The content is returned as soon as the slice reaches its max_size
(offset from start
)- max_size
can be none
to return the remainder from the start.
fn head #
fn head(url string) !Response
head sends a HEAD request to the specified url
and returns the response.
fn post #
fn post(url string, data string) !Response
post sends a POST request to the specified url
and returns the response.
interface Download #
interface Download {
mut:
progress(u64, u64)
finish()
}
type CustomInitFlag #
type CustomInitFlag = state.GlobalInitFlag
fn (Status) msg #
fn (status Status) msg() string
msg returns the message associated with the status code.
enum HttpHeader #
enum HttpHeader {
accept
accept_ch
accept_charset
accept_encoding
accept_language
accept_patch
accept_post
accept_ranges
access_control_allow_credentials
access_control_allow_headers
access_control_allow_methods
access_control_allow_origin
access_control_expose_headers
access_control_max_age
access_control_request_headers
access_control_request_method
age
allow
alt_svc
authorization
cache_control
clear_site_data
connection
content_disposition
content_encoding
content_language
content_length
content_location
content_range
content_security_policy
content_security_policy_report_only
content_type
cookie
critical_ch // Experimental
cross_origin_embedder_policy
cross_origin_opener_policy
cross_origin_resource_policy
date
device_memory // Experimental
digest
downlink // Experimental
early_data // Experimental
ect // Experimental
etag
expect
expect_ct
expires
forwarded
from
host
if_match
if_modified_since
if_none_match
if_range
if_unmodified_since
keep_alive
last_modified
link
location
max_forwards
nel // Experimental
origin
permissions_policy
proxy_authenticate
proxy_authorization
range
referer
referrer_policy
retry_after
rtt // Experimental
save_data // Experimental
sec_ch_prefers_reduced_motion // Experimental
sec_ch_ua // Experimental
sec_ch_ua_arch // Experimental
sec_ch_ua_bitness // Experimental
sec_ch_ua_full_version_list // Experimental
sec_ch_ua_mobile // Experimental
sec_ch_ua_model // Experimental
sec_ch_ua_platform // Experimental
sec_ch_ua_platform_version // Experimental
sec_fetch_dest
sec_fetch_mode
sec_fetch_site
sec_fetch_user
sec_gpc // Experimental
sec_websocket_accept
server
server_timing
service_worker_navigation_preload
set_cookie
sourcemap
strict_transport_security
te
timing_allow_origin
trailer
transfer_encoding
upgrade
upgrade_insecure_requests
user_agent
vary
via
want_digest
www_authenticate
x_content_type_options
x_dns_prefetch_control // Non-standard
x_forwarded_for // Non-standard
x_forwarded_host // Non-standard
x_forwarded_proto // Non-standard
x_frame_options
x_xss_protection // Non-standard
}
fn (HttpHeader) str #
fn (header HttpHeader) str() string
enum SSLLevel #
enum SSLLevel {
@none
try
control
all
}
Todo:
struct ProxySettings #
struct ProxySettings {
pub mut:
address string
port u16
user string
password string
}
struct Request #
struct Request {
pub mut:
headers map[HttpHeader]string
custom_headers map[string]string
cookie_jar string
cookie_file string
proxy ProxySettings
timeout time.Duration
max_redirects u16 = 10
}
fn (Request) download_file #
fn (req Request) download_file(url string, file_path string) !Response
download_file downloads a document from the specified url
and saves it to the specified file_path
.
fn (Request) download_file_with_progress #
fn (req Request) download_file_with_progress(url string, file_path string, mut download Download) !Response
download_file_with_progress downloads a document from the specified url
and saves it to the specified file_path
. download
must implement a progress(pos u64, size u64)
, and a finish()
method.
fn (Request) get #
fn (req Request) get(url string) !Response
get send a GET request to the specified url
and returns the response.
fn (Request) get_slice #
fn (req Request) get_slice(url string, start usize, max_size ?usize) !Response
get_slice sends a GET request to the specified url
and returns a slice of the response content. Allocation of the received response as a vstring is postponed until the start
byte position is reached. The content is returned as soon as the slice reaches its max_size
(offset from start
)- max_size
can be none
to return the remainder from the start.
fn (Request) head #
fn (req Request) head(url string) !Response
head sends a HEAD request to the specified url
and returns the response.
fn (Request) post #
fn (req Request) post(url string, data string) !Response
post sends a POST request to the specified url
and returns the response.
struct Response #
struct Response {
pub mut:
header string
status Status
http_version string
body string
}