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; }
}
}