using System.Collections.Generic; using System.Runtime.Serialization; namespace Amazon.Lambda.ApplicationLoadBalancerEvents { /// /// For response object for Lambda functions handling request from Application Load Balancer. /// https://docs.aws.amazon.com/elasticloadbalancing/latest/application/lambda-functions.html /// [DataContract] public class ApplicationLoadBalancerResponse { /// /// The HTTP status code for the request /// [DataMember(Name = "statusCode")] #if NETCOREAPP3_1 [System.Text.Json.Serialization.JsonPropertyName("statusCode")] #endif public int StatusCode { get; set; } /// /// The HTTP status description for the request /// [DataMember(Name = "statusDescription")] #if NETCOREAPP3_1 [System.Text.Json.Serialization.JsonPropertyName("statusDescription")] #endif public string StatusDescription { get; set; } /// /// The Http headers return in the response /// Note: Use this property when "Multi value headers" is disabled on ELB Target Group. /// [DataMember(Name = "headers")] #if NETCOREAPP3_1 [System.Text.Json.Serialization.JsonPropertyName("headers")] #endif public IDictionary Headers { get; set; } /// /// The Http headers return in the response /// Note: Use this property when "Multi value headers" is enabled on ELB Target Group. /// [DataMember(Name = "multiValueHeaders")] #if NETCOREAPP3_1 [System.Text.Json.Serialization.JsonPropertyName("multiValueHeaders")] #endif public IDictionary> MultiValueHeaders { get; set; } /// /// The response body /// [DataMember(Name = "body")] #if NETCOREAPP3_1 [System.Text.Json.Serialization.JsonPropertyName("body")] #endif public string Body { get; set; } /// /// Flag indicating whether the body should be treated as a base64-encoded string /// [DataMember(Name = "isBase64Encoded")] #if NETCOREAPP3_1 [System.Text.Json.Serialization.JsonPropertyName("isBase64Encoded")] #endif public bool IsBase64Encoded { get; set; } } }