1pub mod harness;
18
19pub use gov_uk_sdk_core::*;
20
21#[cfg(feature = "ch-public-data")]
22pub use gov_uk_ch_public_data as ch_public_data;
23
24#[cfg(feature = "ch-document")]
25pub use gov_uk_ch_document as ch_document;
26
27pub mod prelude {
29 pub use crate::harness::{into_api_result, ApiError, ApiRequest, ApiResponse, ApiResult, NegotiatedMeta};
30
31 pub use gov_uk_sdk_core::{
32 Auth, ChDeprecation, Method, NegotiatedResponse, SdkClient, SdkClientBuilder, SdkError, SdkResult,
33 SdkRequest, Validation, vendor_content_type, COMPANIES_HOUSE_API_ROOT,
34 };
35
36 #[cfg(feature = "ch-public-data")]
37 pub use gov_uk_ch_public_data::{
38 get_company_profile, search_companies, CompanyProfile, CompanySearchHit, SearchCompaniesQuery,
39 SearchCompaniesResponse, COMPANY_PROFILE_ACCEPT_LATEST, COMPANY_PROFILE_VENDOR_MIME,
40 };
41
42 #[cfg(feature = "ch-document")]
43 pub use gov_uk_ch_document::{DocumentApiStub, DOCUMENT_API_PATH_PREFIX};
44}
45
46#[cfg(test)]
47mod tests {
48 use super::harness::{ApiResponse, NegotiatedMeta};
49 use gov_uk_sdk_core::NegotiatedResponse;
50
51 #[test]
53 fn api_response_exposes_meta() {
54 let n: NegotiatedResponse<i32> = NegotiatedResponse {
55 body: 42_i32,
56 content_type: Some("application/json".into()),
57 deprecation: None,
58 };
59 let api = ApiResponse::new(n);
60 assert_eq!(*api.body(), 42);
61 assert_eq!(
62 api.meta(),
63 NegotiatedMeta {
64 content_type: Some("application/json".into()),
65 deprecation: None,
66 }
67 );
68 }
69}