ark_api_ffi/ffi/
http_request_v1.rs1define_api_id!(0xa611_870d_dd2d_94d1, "http-request-v1");
2
3use crate::FFIResult;
4
5pub type RequestHandle = u32;
6
7#[ark_api_macros::ark_bindgen(imports = "ark-http-request-v1")]
8mod http_request {
9 use super::*;
10
11 pub const STATUS_PENDING: u32 = u32::max_value();
13
14 #[repr(u32)]
16 #[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)]
17 pub enum Method {
18 Get = 1,
20
21 Post = 2,
23
24 Put = 3,
26
27 Delete = 4,
29
30 Patch = 5,
32
33 Head = 6,
35
36 Options = 7,
38
39 Trace = 8,
41
42 Connect = 9,
44 }
45
46 extern "C" {
47 pub fn request(method: Method, url: &str, body: &[u8]) -> FFIResult<RequestHandle>;
49
50 pub fn is_ready(handle: RequestHandle, out_status: &mut u32) -> FFIResult<()>;
53
54 pub fn retrieve(handle: RequestHandle) -> FFIResult<Vec<u8>>;
56 }
57}
58
59pub use http_request::*;