// Copyright 2019-2023 Tauri Programme within The Commons Conservancy // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT //! Access the HTTP client written in Rust. pub use reqwest; use tauri::{ plugin::{Builder, TauriPlugin}, Manager, Runtime, }; pub use error::{Error, Result}; mod commands; mod error; mod scope; pub(crate) struct Http { #[cfg(feature = "cookies")] cookies_jar: std::sync::Arc, } pub fn init() -> TauriPlugin { Builder::::new("http") .setup(|app, _| { let state = Http { #[cfg(feature = "cookies")] cookies_jar: std::sync::Arc::new(reqwest::cookie::Jar::default()), }; app.manage(state); Ok(()) }) .invoke_handler(tauri::generate_handler![ commands::fetch, commands::fetch_cancel, commands::fetch_send, commands::fetch_read_body, ]) .build() }