diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index c2256e91..ad6b6b14 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -28,5 +28,8 @@ jobs: id: login-ecr uses: aws-actions/amazon-ecr-login@v1 + - name: Linting + run: cargo fmt -- --check && cargo clippy -- -Dwarnings + - name: Build run: DOCKER_BUILDKIT=1 docker build -f Dockerfile.x86 -t aws-lambda-adapter:latest . diff --git a/README.md b/README.md index 0ddbbd10..9946b7a7 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ Below is an example Dockerfile for packaging a nodejs application. ```dockerfile FROM public.ecr.aws/lambda/nodejs:14 -COPY --from=aws-lambda-adapter:latest /opt/bootstrap +COPY --from=aws-lambda-adapter:latest /opt/bootstrap /opt/bootstrap ENTRYPOINT ["/opt/bootstrap"] EXPOSE 8080 WORKDIR "/var/task" diff --git a/src/main.rs b/src/main.rs index b625faf9..7d136edd 100644 --- a/src/main.rs +++ b/src/main.rs @@ -62,8 +62,8 @@ async fn main() -> Result<(), Error> { Retry::spawn(FixedInterval::from_millis(10), || { let readiness_check_url = format!( "http://127.0.0.1:{}{}", - env::var("READINESS_CHECK_PORT").unwrap_or("8080".to_string()), - env::var("READINESS_CHECK_PATH").unwrap_or("/".to_string()) + env::var("READINESS_CHECK_PORT").unwrap_or_else(|_| "8080".to_string()), + env::var("READINESS_CHECK_PATH").unwrap_or_else(|_| "/".to_string()) ); reqwest::get(readiness_check_url) }) @@ -142,7 +142,7 @@ async fn handle_signals( async fn http_proxy_handler(event: Request, _: Context) -> Result { let app_host = format!( "http://127.0.0.1:{}", - env::var("PORT").unwrap_or("8080".to_string()) + env::var("PORT").unwrap_or_else(|_| "8080".to_string()) ); let (parts, body) = event.into_parts(); let app_url = app_host + parts.uri.path_and_query().unwrap().as_str(); @@ -184,16 +184,16 @@ async fn convert_body(app_response: reqwest::Response) -> Result { debug!("body is text"); let body_text = app_response.text().await?; trace!("body text is '{}'", body_text); - return Ok(Body::Text(body_text)) + return Ok(Body::Text(body_text)); } let content = app_response.bytes().await?; - return if content.len() > 0 { + return if !content.is_empty() { debug!("body is binary"); Ok(Body::Binary(content.to_vec())) } else { debug! {"body is empty"}; Ok(Body::Empty) - } + }; } fn copy_headers(src: HeaderMap, dst: &mut HeaderMap) {