#[non_exhaustive]pub struct HTTP {
pub ip: String,
pub transfer_time: Duration,
pub redirect_count: u32,
pub content_type: String,
pub response_code: u32,
pub headers: Vec<String>,
pub url: String,
pub body: String,
}Expand description
Information regarding the HTTP transfer
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.ip: StringThe external ip address (v4 or v6)
transfer_time: DurationDuration of the HTTP call
redirect_count: u32Number of redirections encountered
content_type: StringHTTP content type returned
response_code: u32HTTP response code returned
headers: Vec<String>All HTTP response headers
url: StringEffective URL that was visited
body: StringHTTP body
Implementations§
Source§impl HTTP
impl HTTP
Sourcepub fn fetch(url: &str, options: WebpageOptions) -> Result<Self, Error>
pub fn fetch(url: &str, options: WebpageOptions) -> Result<Self, Error>
Fetch a webpage from a public HTTP or HTTPS URL.
The initial URL and every redirect must use HTTP(S) and must resolve to a public ip address.
§Examples
use webpage::HTTP;
use webpage::WebpageOptions;
let info = HTTP::fetch("http://example.org", WebpageOptions::default());
assert!(info.is_ok());
let info = HTTP::fetch("mal formed or unreachable", WebpageOptions::default());
assert!(info.is_err());Sourcepub fn fetch_unrestricted(
url: &str,
options: WebpageOptions,
) -> Result<Self, Error>
pub fn fetch_unrestricted( url: &str, options: WebpageOptions, ) -> Result<Self, Error>
Fetch a URL without scheme or destination-address restrictions.
This should only be used with trusted URLs. Redirects follow libcurl’s defaults.
§Examples
use webpage::{HTTP, WebpageOptions};
let url = "file:///opt/app/pages/trusted.html";
let response = HTTP::fetch_unrestricted(url, WebpageOptions::default())?;
println!("{}", response.body);Trait Implementations§
Auto Trait Implementations§
impl Freeze for HTTP
impl RefUnwindSafe for HTTP
impl Send for HTTP
impl Sync for HTTP
impl Unpin for HTTP
impl UnsafeUnpin for HTTP
impl UnwindSafe for HTTP
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more