lambda_apigateway_response/
lib.rs

1//! A response object for aws-lambda-rust-runtime, when the lambda function integrated into API Gateway.
2//! 
3//! # Example
4//! 
5//! ```rust
6//! use lambda_apigateway_response::{
7//!     http::StatusCode,
8//!     types::{
9//!         Headers,
10//!         MultiValueHeaders,
11//!     },
12//!     Response,
13//! };
14//! use lambda_runtime::{
15//!     Error as LambdaError,
16//!     LambdaEvent,
17//! };
18//! use serde_json::json;
19//! 
20//! type LambdaResult<T> = Result<T, LambdaError>;
21//! 
22//! async fn handler(
23//!     _event: LambdaEvent<serde_json::Value>,
24//! ) -> LambdaResult<Response<serde_json::Value>> {
25//!     let res = Response {
26//!         status_code: StatusCode::OK,
27//!         body: json!({
28//!             "message": "Hello world!",
29//!         }),
30//!         headers: Headers::new(),
31//!         multi_value_headers: MultiValueHeaders::new(),
32//!         is_base64_encoded: true,
33//!     };
34//! 
35//!     Ok(res)
36//! }
37//! 
38//! #[tokio::main]
39//! async fn main() -> LambdaResult<()> {
40//!     let handler_fn = lambda_runtime::service_fn(handler);
41//!     lambda_runtime::run(handler_fn).await?;
42//! 
43//!     Ok(())
44//! }
45//! ```
46
47pub use http;
48
49pub mod response;
50pub mod types;
51
52pub use response::Response;
53pub use types::*;