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::*;