[package]
name = "lambda_runtime"
version = "1.0.2"
authors = [
"David Calavera <dcalaver@amazon.com>",
"Harold Sun <sunhua@amazon.com>",
]
description = "AWS Lambda Runtime"
edition = "2021"
rust-version = "1.82.0"
license = "Apache-2.0"
repository = "https://github.com/aws/aws-lambda-rust-runtime"
categories = ["web-programming::http-server"]
keywords = ["AWS", "Lambda", "API"]
readme = "../README.md"
[features]
default = ["tracing"]
tracing = ["lambda_runtime_api_client/tracing"]
opentelemetry = ["opentelemetry-semantic-conventions"]
anyhow = ["dep:anyhow"]
eyre = ["dep:eyre"]
miette = ["dep:miette"]
graceful-shutdown = ["tokio/rt", "tokio/signal", "dep:lambda-extension"]
[dependencies]
anyhow = { version = "1.0.86", optional = true }
async-stream = "0.3"
base64 = { workspace = true }
bytes = { workspace = true }
eyre = { version = "0.6.12", optional = true }
futures = { workspace = true }
http = { workspace = true }
http-body-util = { workspace = true }
http-serde = { workspace = true }
hyper = { workspace = true, features = ["http1", "client"] }
lambda-extension = { version = "1.0", path = "../lambda-extension", default-features = false, optional = true }
lambda_runtime_api_client = { version = "1.0", path = "../lambda-runtime-api-client", default-features = false }
miette = { version = "7.2.0", optional = true }
opentelemetry-semantic-conventions = { version = "0.31", optional = true, features = ["semconv_experimental"] }
pin-project = "1"
serde = { version = "1", features = ["derive", "rc"] }
serde_json = "^1"
serde_path_to_error = "0.1.11"
tokio = { version = "1.46", features = [
"macros",
"io-util",
"sync",
"rt-multi-thread",
] }
tokio-stream = "0.1.2"
tower = { workspace = true, features = ["util"] }
tracing = { version = "0.1", features = ["log"] }
[dev-dependencies]
httpmock = "0.8.1"
hyper-util = { workspace = true, features = [
"client",
"client-legacy",
"http1",
"server",
"server-auto",
"tokio",
] }
idna_adapter = "=1.2.0"
lambda_runtime = { path = ".", features = ["tracing", "graceful-shutdown"] }
pin-project-lite = { workspace = true }
tracing-appender = "0.2"
[package.metadata.docs.rs]
all-features = true