1#[cfg(any(test, feature = "test_utils"))]
8pub mod test_utils;
9
10pub mod auth_management;
11mod client;
12pub mod config;
13pub mod consumergroup;
14mod credentials;
15pub mod headers;
16pub mod opentelemetry;
17mod publisher;
18mod requester;
19mod responder;
20mod resubscribe;
21mod subscriber;
22
23#[cfg(feature = "test_utils")]
24pub use arminius_lib_message_bus::mock;
25pub use arminius_lib_message_bus::{
32 Command, CommandError, Error as MessageBusError, Event, Publisher, ReceivedCommand,
33 ReceivedEvent, Requester, Responder, encode_subject_segment,
34};
35pub use async_nats::Subscriber;
37use async_nats::jetstream::{
38 self,
39 context::{CreateKeyValueError, CreateStreamError, GetStreamError},
40 kv,
41};
42pub use client::{NatsClient, NatsRequestBody, SharedNatsClient};
43pub use config::{NatsConfiguration, NatsConfigurationError};
44pub use credentials::{NatsCredentials, NatsJwtCredentials};
45pub use ed25519_dalek::SigningKey;
46pub use requester::{__private, NatsReceivedCommand};
47pub use subscriber::NatsReceivedEvent;
48
49#[derive(thiserror::Error, Debug)]
52pub enum NatsError {
53 #[error(transparent)]
55 NatsError(#[from] async_nats::Error),
56 #[error(transparent)]
58 SerializationError(#[from] serde_json::Error),
59 #[error(transparent)]
61 SubscribeError(#[from] async_nats::SubscribeError),
62 #[error(transparent)]
64 PublishError(#[from] async_nats::client::PublishError),
65 #[error(transparent)]
67 JetstreamPublishError(#[from] async_nats::error::Error<jetstream::context::PublishErrorKind>),
68 #[error("Timed out waiting for NATS response")]
70 Timeout,
71 #[error("Reply stream prematurely closed")]
73 ReplyStreamPrematurelyClosed,
74 #[error(transparent)]
76 Put(#[from] kv::PutError),
77 #[error(transparent)]
79 Get(#[from] GetStreamError),
80 #[error(transparent)]
82 Entry(#[from] kv::EntryError),
83 #[error(transparent)]
85 Watch(#[from] kv::WatchError),
86 #[error(transparent)]
88 CreateStream(#[from] CreateStreamError),
89 #[error(transparent)]
91 KeyValue(#[from] CreateKeyValueError),
92}