in lambda-http/src/request.rs [721:750]
fn deserializes_apigw_request_events() {
// from the docs
// https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-input-format
// https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html
let input = include_str!("../tests/data/apigw_proxy_request.json");
let result = from_str(input);
assert!(
result.is_ok(),
"event was not parsed as expected {:?} given {}",
result,
input
);
let req = result.expect("failed to parse request");
assert_eq!(req.method(), "GET");
assert_eq!(
req.uri(),
"https://wt6mne2s9k.execute-api.us-west-2.amazonaws.com/test/hello?name=me"
);
// Ensure this is an APIGW request
let req_context = req.request_context();
assert!(
match req_context {
RequestContext::ApiGateway(_) => true,
_ => false,
},
"expected ApiGateway context, got {:?}",
req_context
);
}