Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "http://json.schemastore.org/launchsettings.json",
"profiles": {
"Lambda.Host.Example.Events": {
"Local": {
"commandName": "Project",
"environmentVariables": {
"AWS_LAMBDA_RUNTIME_API": "localhost:5050",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "http://json.schemastore.org/launchsettings.json",
"profiles": {
"Lambda.Host.Example.HelloWorldAot": {
"Local": {
"commandName": "Project",
"environmentVariables": {
"AWS_LAMBDA_RUNTIME_API": "localhost:5050",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "http://json.schemastore.org/launchsettings.json",
"profiles": {
"Lambda.Host.Example.Lifecycle": {
"Local": {
"commandName": "Project",
"environmentVariables": {
"AWS_LAMBDA_RUNTIME_API": "localhost:5050",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "http://json.schemastore.org/launchsettings.json",
"profiles": {
"Lambda.Host.Example.OpenTelemetry": {
"Local": {
"commandName": "Project",
"environmentVariables": {
"AWS_LAMBDA_RUNTIME_API": "localhost:5050",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ public static class MiddlewareOpenTelemetryExtensions
/// </item>
/// <item>
/// <description>
/// Wraps the handler pipeline with tracing middleware that creates a
/// root span with invocation info.
/// Wraps the handler pipeline with tracing middleware that creates a root
/// span with invocation info.
/// </description>
/// </item>
/// </list>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,18 @@ namespace AwsLambda.Host.Envelopes.CloudWatchLogs;
/// deserialization.
/// </summary>
/// <remarks>
/// Use this envelope when working with string-based log messages. For structured log data that
/// needs to be deserialized into typed objects, use <see cref="CloudWatchLogsEnvelope{T}" />
/// Use this envelope when working with string-based log messages. For structured log data
/// that needs to be deserialized into typed objects, use <see cref="CloudWatchLogsEnvelope{T}" />
/// instead.
/// </remarks>
public sealed class CloudWatchLogsEnvelope : CloudWatchLogsEnvelopeBase<string>
{
/// <inheritdoc />
/// <remarks>
/// Sets each log event's <see cref="CloudWatchLogsEnvelopeBase{T}.LogEventEnvelope.MessageContent" />
/// to the raw string <see cref="CloudWatchLogsEnvelopeBase{T}.LogEventEnvelope.Message" /> without
/// performing any deserialization.
/// Sets each log event's
/// <see cref="CloudWatchLogsEnvelopeBase{T}.LogEventEnvelope.MessageContent" /> to the raw string
/// <see cref="CloudWatchLogsEnvelopeBase{T}.LogEventEnvelope.Message" /> without performing any
/// deserialization.
/// </remarks>
public override void ExtractPayload(EnvelopeOptions options)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ namespace AwsLambda.Host.Envelopes.CloudWatchLogs;

/// <inheritdoc cref="CloudWatchLogsEvent" />
/// <remarks>
/// This abstract class extends <see cref="CloudWatchLogsEvent" /> and provides a foundation for
/// strongly typed CloudWatch Logs handling. Derived classes implement <see cref="ExtractPayload" />
/// to deserialize the CloudWatch Logs data into strongly typed <see cref="AwsLogsEnvelope" />
/// records using their chosen deserialization strategy.
/// This abstract class extends <see cref="CloudWatchLogsEvent" /> and provides a foundation
/// for strongly typed CloudWatch Logs handling. Derived classes implement
/// <see cref="ExtractPayload" /> to deserialize the CloudWatch Logs data into strongly typed
/// <see cref="AwsLogsEnvelope" /> records using their chosen deserialization strategy.
/// </remarks>
public abstract class CloudWatchLogsEnvelopeBase<T> : CloudWatchLogsEvent, IRequestEnvelope
{
Expand All @@ -35,9 +35,7 @@ public virtual void ExtractPayload(EnvelopeOptions options)
/// </summary>
public class AwsLogsEnvelope
{
/// <summary>
/// Gets or sets the array of log events included in the message.
/// </summary>
/// <summary>Gets or sets the array of log events included in the message.</summary>
[JsonPropertyName("logEvents")]
public required LogEventEnvelope[] LogEvents { get; set; }

Expand All @@ -49,9 +47,7 @@ public class AwsLogsEnvelope
[JsonPropertyName("logStream")]
public required string LogStream { get; set; }

/// <summary>
/// Gets or sets the type of CloudWatch Logs message.
/// </summary>
/// <summary>Gets or sets the type of CloudWatch Logs message.</summary>
[JsonPropertyName("messageType")]
public required string MessageType { get; set; }

Expand Down
1 change: 0 additions & 1 deletion src/Envelopes/AwsLambda.Host.Envelopes.Sns/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@ public sealed class SnsXmlEnvelope<T> : SnsEnvelopeBase<T>
This pattern allows you to support multiple serialization formats while maintaining the same
envelope interface.


## AOT Support

When using .NET Native AOT, register both the envelope and payload types in your
Expand Down
10 changes: 5 additions & 5 deletions src/Envelopes/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ IDE support and compile-time type checking.

**Key benefits:**

- **Type Safety**  Generic type parameter `<T>` ensures compile-time type checking for payloads
- **Extensibility**  Abstract base classes allow custom serialization formats (JSON, XML, etc.)
- **Zero Overhead**  Envelopes extend official AWS event types, adding no runtime cost
- **AOT Ready**  Support for Native AOT compilation via JsonSerializerContext registration
- **Familiar API**  Works seamlessly with existing AWS Lambda event patterns
- **Type Safety** Generic type parameter `<T>` ensures compile-time type checking for payloads
- **Extensibility** Abstract base classes allow custom serialization formats (JSON, XML, etc.)
- **Zero Overhead** Envelopes extend official AWS event types, adding no runtime cost
- **AOT Ready** Support for Native AOT compilation via JsonSerializerContext registration
- **Familiar API** Works seamlessly with existing AWS Lambda event patterns

## Packages

Expand Down
Loading