/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace WAFV2 { namespace Model { /** *

Inspect the body of the web request. The body immediately follows the request * headers.

This is used to indicate the web request component to inspect, * in the FieldToMatch specification.

See Also:

AWS API * Reference

*/ class Body { public: AWS_WAFV2_API Body(); AWS_WAFV2_API Body(Aws::Utils::Json::JsonView jsonValue); AWS_WAFV2_API Body& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

What WAF should do if the body is larger than WAF can inspect. WAF does not * support inspecting the entire contents of the web request body if the body * exceeds the limit for the resource type. If the body is larger than the limit, * the underlying host service only forwards the contents that are below the limit * to WAF for inspection.

The default limit is 8 KB (8,192 kilobytes) for * regional resources and 16 KB (16,384 kilobytes) for CloudFront distributions. * For CloudFront distributions, you can increase the limit in the web ACL * AssociationConfig, for additional processing fees.

The * options for oversize handling are the following:

  • * CONTINUE - Inspect the available body contents normally, according * to the rule inspection criteria.

  • MATCH - Treat * the web request as matching the rule statement. WAF applies the rule action to * the request.

  • NO_MATCH - Treat the web request as * not matching the rule statement.

You can combine the * MATCH or NO_MATCH settings for oversize handling with * your rule and web ACL action settings, so that you block any request whose body * is over the limit.

Default: CONTINUE

*/ inline const OversizeHandling& GetOversizeHandling() const{ return m_oversizeHandling; } /** *

What WAF should do if the body is larger than WAF can inspect. WAF does not * support inspecting the entire contents of the web request body if the body * exceeds the limit for the resource type. If the body is larger than the limit, * the underlying host service only forwards the contents that are below the limit * to WAF for inspection.

The default limit is 8 KB (8,192 kilobytes) for * regional resources and 16 KB (16,384 kilobytes) for CloudFront distributions. * For CloudFront distributions, you can increase the limit in the web ACL * AssociationConfig, for additional processing fees.

The * options for oversize handling are the following:

  • * CONTINUE - Inspect the available body contents normally, according * to the rule inspection criteria.

  • MATCH - Treat * the web request as matching the rule statement. WAF applies the rule action to * the request.

  • NO_MATCH - Treat the web request as * not matching the rule statement.

You can combine the * MATCH or NO_MATCH settings for oversize handling with * your rule and web ACL action settings, so that you block any request whose body * is over the limit.

Default: CONTINUE

*/ inline bool OversizeHandlingHasBeenSet() const { return m_oversizeHandlingHasBeenSet; } /** *

What WAF should do if the body is larger than WAF can inspect. WAF does not * support inspecting the entire contents of the web request body if the body * exceeds the limit for the resource type. If the body is larger than the limit, * the underlying host service only forwards the contents that are below the limit * to WAF for inspection.

The default limit is 8 KB (8,192 kilobytes) for * regional resources and 16 KB (16,384 kilobytes) for CloudFront distributions. * For CloudFront distributions, you can increase the limit in the web ACL * AssociationConfig, for additional processing fees.

The * options for oversize handling are the following:

  • * CONTINUE - Inspect the available body contents normally, according * to the rule inspection criteria.

  • MATCH - Treat * the web request as matching the rule statement. WAF applies the rule action to * the request.

  • NO_MATCH - Treat the web request as * not matching the rule statement.

You can combine the * MATCH or NO_MATCH settings for oversize handling with * your rule and web ACL action settings, so that you block any request whose body * is over the limit.

Default: CONTINUE

*/ inline void SetOversizeHandling(const OversizeHandling& value) { m_oversizeHandlingHasBeenSet = true; m_oversizeHandling = value; } /** *

What WAF should do if the body is larger than WAF can inspect. WAF does not * support inspecting the entire contents of the web request body if the body * exceeds the limit for the resource type. If the body is larger than the limit, * the underlying host service only forwards the contents that are below the limit * to WAF for inspection.

The default limit is 8 KB (8,192 kilobytes) for * regional resources and 16 KB (16,384 kilobytes) for CloudFront distributions. * For CloudFront distributions, you can increase the limit in the web ACL * AssociationConfig, for additional processing fees.

The * options for oversize handling are the following:

  • * CONTINUE - Inspect the available body contents normally, according * to the rule inspection criteria.

  • MATCH - Treat * the web request as matching the rule statement. WAF applies the rule action to * the request.

  • NO_MATCH - Treat the web request as * not matching the rule statement.

You can combine the * MATCH or NO_MATCH settings for oversize handling with * your rule and web ACL action settings, so that you block any request whose body * is over the limit.

Default: CONTINUE

*/ inline void SetOversizeHandling(OversizeHandling&& value) { m_oversizeHandlingHasBeenSet = true; m_oversizeHandling = std::move(value); } /** *

What WAF should do if the body is larger than WAF can inspect. WAF does not * support inspecting the entire contents of the web request body if the body * exceeds the limit for the resource type. If the body is larger than the limit, * the underlying host service only forwards the contents that are below the limit * to WAF for inspection.

The default limit is 8 KB (8,192 kilobytes) for * regional resources and 16 KB (16,384 kilobytes) for CloudFront distributions. * For CloudFront distributions, you can increase the limit in the web ACL * AssociationConfig, for additional processing fees.

The * options for oversize handling are the following:

  • * CONTINUE - Inspect the available body contents normally, according * to the rule inspection criteria.

  • MATCH - Treat * the web request as matching the rule statement. WAF applies the rule action to * the request.

  • NO_MATCH - Treat the web request as * not matching the rule statement.

You can combine the * MATCH or NO_MATCH settings for oversize handling with * your rule and web ACL action settings, so that you block any request whose body * is over the limit.

Default: CONTINUE

*/ inline Body& WithOversizeHandling(const OversizeHandling& value) { SetOversizeHandling(value); return *this;} /** *

What WAF should do if the body is larger than WAF can inspect. WAF does not * support inspecting the entire contents of the web request body if the body * exceeds the limit for the resource type. If the body is larger than the limit, * the underlying host service only forwards the contents that are below the limit * to WAF for inspection.

The default limit is 8 KB (8,192 kilobytes) for * regional resources and 16 KB (16,384 kilobytes) for CloudFront distributions. * For CloudFront distributions, you can increase the limit in the web ACL * AssociationConfig, for additional processing fees.

The * options for oversize handling are the following:

  • * CONTINUE - Inspect the available body contents normally, according * to the rule inspection criteria.

  • MATCH - Treat * the web request as matching the rule statement. WAF applies the rule action to * the request.

  • NO_MATCH - Treat the web request as * not matching the rule statement.

You can combine the * MATCH or NO_MATCH settings for oversize handling with * your rule and web ACL action settings, so that you block any request whose body * is over the limit.

Default: CONTINUE

*/ inline Body& WithOversizeHandling(OversizeHandling&& value) { SetOversizeHandling(std::move(value)); return *this;} private: OversizeHandling m_oversizeHandling; bool m_oversizeHandlingHasBeenSet = false; }; } // namespace Model } // namespace WAFV2 } // namespace Aws