1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
//! HTTP transport adapters for AS2 and AS4.
//!
//! ## Server-side ingress (always available)
//!
//! Convert an incoming [`crate::http::HttpRequest`] into protocol-level
//! message data, validating required headers and method.
//!
//! | Function | Input | Purpose |
//! |---|---|---|
//! | [`as2_ingress_from_http`] | `HttpRequest` | Extract AS2 message data per RFC 4130 §6 |
//! | [`as4_ingress_from_http`] | `HttpRequest` | Extract AS4 SOAP data per eDelivery HTTP binding |
//!
//! ### Example — AS2 server
//! ```ignore
//! use asx_rs::http::HttpRequest;
//! use asx_rs::transport::{as2_ingress_from_http};
//!
//! let http_req = /* incoming HTTP request from your framework */;
//! let ingress = as2_ingress_from_http(http_req)?;
//! // ingress.body → feed into as2::receive_sync or as2::receive_async
//! // ingress.as2_from / ingress.as2_to → routing
//! ```
//!
//! ## Client-side egress (requires `client` feature)
//!
//! Async HTTP transports for sending AS2 and AS4 messages.
//!
//! | Type | Purpose |
//! |---|---|
//! | `As2HttpTransport` | Send AS2 messages with RFC 4130 §6 headers |
//! | `As4HttpTransport` | Send AS4 SOAP envelopes with eDelivery HTTP headers |
//! | `TransportConfig` | Configure timeouts, user-agent, connection pool |
//! | `HttpSendOutcome` | HTTP response wrapping status, headers, body |
pub use ;
pub use ;
pub use As2HttpTransport;
pub use As4HttpTransport;
pub use ;
pub use ;
pub use ;