How to: Configure json/xml/form-data content types for a specific user-defined URL¶
In this example, we configure json/xml/form-data content types for a specific user-defined URL:
{
"policy": {
"name": "/Common/user_defined_URL",
"template": {
"name": "POLICY_TEMPLATE_RATING_BASED"
},
"applicationLanguage": "utf-8",
"enforcementMode": "blocking",
"blocking-settings": {
"violations": [
{
"name": "VIOL_URL",
"alarm": true,
"block": true
},
{
"name": "VIOL_METHOD",
"alarm": true,
"block": true
},
{
"name": "VIOL_JSON_MALFORMED",
"alarm": true,
"block": true
},
{
"name": "VIOL_JSON_FORMAT",
"alarm": true,
"block": true
},
{
"name": "VIOL_XML_FORMAT",
"alarm": true,
"block": true
}
]
},
"json-profiles": [
{
"name": "Default",
"handleJsonValuesAsParameters": false,
"defenseAttributes": {
"maximumTotalLengthOfJSONData": "any",
"maximumArrayLength": "any",
"maximumStructureDepth": "any",
"maximumValueLength": "any"
}
}
],
"xml-profiles": [
{
"name": "Default",
"defenseAttributes": {
"maximumAttributesPerElement": "any",
"maximumDocumentDepth": "any",
"maximumAttributeValueLength": "any",
"maximumChildrenPerElement": "any",
"maximumDocumentSize": "any",
"maximumElements": "any",
"maximumNameLength": "any",
"maximumNSDeclarations": "any",
"maximumNamespaceLength": "any",
"tolerateLeadingWhiteSpace": true,
"tolerateCloseTagShorthand": true,
"allowCDATA": true,
"allowExternalReferences": true,
"allowProcessingInstructions": true
}
}
],
"urls": [
{
"method": "*",
"name": "/first*",
"protocol": "http",
"type": "wildcard",
"wildcardOrder": 1,
"urlContentProfiles": [
{
"headerValue": "*",
"headerName": "*",
"headerOrder": "3",
"type": "form-data"
},
{
"contentProfile": {
"name": "Default"
},
"headerValue": "*xml*",
"headerName": "Content-Type",
"headerOrder": "2",
"type": "xml"
},
{
"contentProfile": {
"name": "Default"
},
"headerValue": "*json*",
"headerName": "Content-Type",
"headerOrder": "1",
"type": "json"
}
]
}
]
}
}