Skip to main content

lenso_capability_http_client/
lib.rs

1//! Generated bindings for an explicitly bound outbound HTTP client.
2
3include!("generated.rs");
4
5#[cfg(test)]
6mod tests {
7    use super::*;
8
9    #[test]
10    fn client_contract_round_trips_headers_and_bytes() {
11        let request = SendRequest {
12            body: Bytes::from(vec![0, 1, 2]),
13            headers: vec![SendRequestHeadersItem {
14                name: "content-type".to_owned(),
15                value: "application/octet-stream".to_owned(),
16            }],
17            method: "POST".to_owned(),
18            url: "https://api.example.test/v1/items?active=true".to_owned(),
19        };
20        let wire = encode_send_request(&request).unwrap();
21        assert!(wire.contains(r#""body":"AAEC""#));
22        assert_eq!(decode_send_request(&wire).unwrap(), request);
23    }
24
25    #[test]
26    fn client_contract_values_support_cross_lane_transfer() {
27        fn assert_send<T: Send>() {}
28
29        const { assert!(CROSS_LANE_TRANSFER) };
30        assert_send::<SendRequest>();
31        assert_send::<SendResponse>();
32        assert_send::<SendError>();
33    }
34}