Skip to content

Commit 5f1f946

Browse files
authored
set AdapterOptions with env values in Default impl (awslabs#324)
* set AdapterOptions with env values in Default impl * remove borrow for consistent lets * doc test commands
1 parent ce66c06 commit 5f1f946

File tree

4 files changed

+17
-27
lines changed

4 files changed

+17
-27
lines changed

docs/development.md

+8-1
Original file line numberDiff line numberDiff line change
@@ -79,4 +79,11 @@ When these commands complete successfully, you will have the following container
7979

8080
- "aws-lambda-adapter:latest-x86_64" for x86_64.
8181
- "aws-lambda-adapter:latest-aarch64" for arm64.
82-
- "aws-lambda-adapter:latest" is the same as "aws-lambda-adapter:latest-x86_64".
82+
- "aws-lambda-adapter:latest" is the same as "aws-lambda-adapter:latest-x86_64".
83+
84+
### Testing
85+
86+
Please test with the following [commands](https://github.com/awslabs/aws-lambda-web-adapter/blob/ff2dc8bddd968e74d7dc2ec56a249c56e5a3c5a7/.github/workflows/pipeline.yaml#L46-L49) before submitting a pull request:
87+
1. `cargo fmt -- --check`
88+
1. `cargo clippy -- -Dwarnings`
89+
1. `cargo nextest run`

src/lib.rs

+1-18
Original file line numberDiff line numberDiff line change
@@ -80,23 +80,6 @@ pub struct AdapterOptions {
8080

8181
impl Default for AdapterOptions {
8282
fn default() -> Self {
83-
AdapterOptions {
84-
host: "127.0.0.1".to_string(),
85-
port: "8080".to_string(),
86-
readiness_check_port: "8080".to_string(),
87-
readiness_check_path: "/".to_string(),
88-
readiness_check_protocol: Protocol::Http,
89-
readiness_check_min_unhealthy_status: 500,
90-
base_path: None,
91-
async_init: false,
92-
compression: false,
93-
invoke_mode: LambdaInvokeMode::Buffered,
94-
}
95-
}
96-
}
97-
98-
impl AdapterOptions {
99-
pub fn from_env() -> Self {
10083
AdapterOptions {
10184
host: env::var("AWS_LWA_HOST").unwrap_or(env::var("HOST").unwrap_or_else(|_| "127.0.0.1".to_string())),
10285
port: env::var("AWS_LWA_PORT").unwrap_or(env::var("PORT").unwrap_or_else(|_| "8080".to_string())),
@@ -301,7 +284,7 @@ where
301284
}
302285

303286
let request_context = event.request_context();
304-
let lambda_context = &event.lambda_context();
287+
let lambda_context = event.lambda_context();
305288
let path = event.raw_http_path().to_string();
306289
let mut path = path.as_str();
307290
let (parts, body) = event.into_parts();

src/main.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ async fn main() -> Result<(), Error> {
1313
tracing_subscriber::fmt().with_env_filter(filter).without_time().init();
1414

1515
// get configuration options from environment variables
16-
let options = AdapterOptions::from_env();
16+
let options = AdapterOptions::default();
1717

1818
// create an adapter
1919
let mut adapter = Adapter::new(&options);

tests/integ_tests/main.rs

+7-7
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ use serde_json::json;
2424
use tower_http::compression::{CompressionBody, CompressionLayer};
2525

2626
#[test]
27-
fn test_adapter_options_from_env() {
27+
fn test_default_adapter_options() {
2828
env::set_var("PORT", "3000");
2929
env::set_var("HOST", "localhost");
3030
env::set_var("READINESS_CHECK_PORT", "8000");
@@ -38,8 +38,8 @@ fn test_adapter_options_from_env() {
3838
env::remove_var("AWS_LWA_TLS_CERT_FILE");
3939
env::set_var("AWS_LWA_INVOKE_MODE", "buffered");
4040

41-
// Initialize adapter with env options
42-
let options = AdapterOptions::from_env();
41+
// Initialize adapter
42+
let options = AdapterOptions::default();
4343
Adapter::new(&options);
4444

4545
assert_eq!("3000", options.port);
@@ -66,8 +66,8 @@ fn test_adapter_options_from_namespaced_env() {
6666
env::set_var("AWS_LWA_ENABLE_COMPRESSION", "true");
6767
env::set_var("AWS_LWA_INVOKE_MODE", "response_stream");
6868

69-
// Initialize adapter with env options
70-
let options = AdapterOptions::from_env();
69+
// Initialize adapter
70+
let options = AdapterOptions::default();
7171
Adapter::new(&options);
7272

7373
assert_eq!("3000", options.port);
@@ -88,8 +88,8 @@ fn test_readiness_check_port_fallback_to_lwa_port() {
8888
env::remove_var("READINESS_CHECK_PORT");
8989
env::set_var("AWS_LWA_PORT", "3000");
9090

91-
// Initialize adapter with env options
92-
let options = AdapterOptions::from_env();
91+
// Initialize adapter
92+
let options = AdapterOptions::default();
9393
Adapter::new(&options);
9494

9595
assert_eq!("3000", options.readiness_check_port);

0 commit comments

Comments
 (0)