## Provided Capabilities (3)

Name | Dynamic | Other provider points
--- | --- | ---
org.wildfly.undertow.listener | true | /subsystem=undertow/server=*/https-listener=* /subsystem=undertow/server=*/ajp-listener=*
org.wildfly.undertow.server.listener | true | /subsystem=undertow/server=*/https-listener=* /subsystem=undertow/server=*/ajp-listener=*
org.wildfly.undertow.listener.http-upgrade-registry | true | /subsystem=undertow/server=*/https-listener=*

## Attributes (49)

- allow-encoded-slash - If a request comes in with encoded / characters (i.e. %2F), will these be decoded.

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "If a request comes in with encoded / characters (i.e. %2F), will these be decoded.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- allow-equals-in-cookie-value - If this is true then Undertow will allow non-escaped equals characters in unquoted cookie values. Unquoted cookie values may not contain equals characters. If present the value ends before the equals sign. The remainder of the cookie value will be dropped.

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "If this is true then Undertow will allow non-escaped equals characters in unquoted cookie values. Unquoted cookie values may not contain equals characters. If present the value ends before the equals sign. The remainder of the cookie value will be dropped.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- allow-unescaped-characters-in-url - If this is true Undertow will accept non-encoded characters that are disallowed by the URI specification. This defaults to false, and in general should not be needed as most clients correctly encode characters. Note that setting this to true can be considered a security risk, as allowing non-standard characters can allow request smuggling attacks in some circumstances.

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "If this is true Undertow will accept non-encoded characters that are disallowed by the URI specification. This defaults to false, and in general should not be needed as most clients correctly encode characters. Note that setting this to true can be considered a security risk, as allowing non-standard characters can allow request smuggling attacks in some circumstances.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- always-set-keep-alive - If this is true then a Connection: keep-alive header will be added to responses, even when it is not strictly required by the specification.

  Type | BOOLEAN
  Default Value | true
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "If this is true then a Connection: keep-alive header will be added to responses, even when it is not strictly required by the specification.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : true,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- buffer-pipelined-data - If we should buffer pipelined requests.

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "If we should buffer pipelined requests.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- buffer-pool - The listeners buffer pool

  Type | STRING
  Default Value | default
  Is the attribute nillable? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "STRING"
          },
          "description" : "The listeners buffer pool",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "default" : "default",
          "capability-reference" : "org.wildfly.undertow.byte-buffer-pool",
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services"
      }

- bytes-received - The number of bytes that have been received by this listener

  Type | LONG
  Unit | BYTES
  Where is the attribute stored? | runtime
  Access Type | metric
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "LONG"
          },
          "description" : "The number of bytes that have been received by this listener",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "unit" : "BYTES",
          "stability" : "default",
          "access-type" : "metric",
          "storage" : "runtime",
          "restart-required" : null,
          "capability-reference" : null
      }

- bytes-sent - The number of bytes that have been sent out on this listener

  Type | LONG
  Unit | BYTES
  Where is the attribute stored? | runtime
  Access Type | metric
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "LONG"
          },
          "description" : "The number of bytes that have been sent out on this listener",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "unit" : "BYTES",
          "stability" : "default",
          "access-type" : "metric",
          "storage" : "runtime",
          "restart-required" : null,
          "capability-reference" : null
      }

- certificate-forwarding - If certificate forwarding should be enabled. If this is enabled then the listener will take the certificate from the SSL_CLIENT_CERT attribute. This should only be enabled if behind a proxy, and the proxy is configured to always set these headers.

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | resource-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "If certificate forwarding should be enabled. If this is enabled then the listener will take the certificate from the SSL_CLIENT_CERT attribute. This should only be enabled if behind a proxy, and the proxy is configured to always set these headers.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- decode-url - If this is true then the parser will decode the URL and query parameters using the selected character encoding (UTF-8 by default). If this is false they will not be decoded. This will allow a later handler to decode them into whatever charset is desired.

  Type | BOOLEAN
  Default Value | true
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "If this is true then the parser will decode the URL and query parameters using the selected character encoding (UTF-8 by default). If this is false they will not be decoded. This will allow a later handler to decode them into whatever charset is desired.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : true,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- disallowed-methods - A comma separated list of HTTP methods that are not allowed

  Type | LIST
  Default Value | ["TRACE"]
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | resource-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "LIST"
          },
          "description" : "A comma separated list of HTTP methods that are not allowed",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : ["TRACE"],
          "min-length" : 0,
          "max-length" : 2147483647,
          "stability" : "default",
          "value-type" : {
              "TYPE_MODEL_VALUE" : "STRING"
          },
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- enable-http2 - Enables HTTP2 support for this listener

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "Enables HTTP2 support for this listener",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- enabled - If the listener is enabled
  Deprecated Since 3.2.0
  Enabled attributes are being deprecated, as they cause problems in enforcement of configuration consistency.

  Type | BOOLEAN
  Default Value | true
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "If the listener is enabled",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : true,
          "stability" : "default",
          "deprecated" : {
              "since" : "3.2.0",
              "reason" : "Enabled attributes are being deprecated, as they cause problems in enforcement of configuration consistency."
          },
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- error-count - The number of 500 responses that have been sent by this listener

  Type | LONG
  Where is the attribute stored? | runtime
  Access Type | metric
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "LONG"
          },
          "description" : "The number of 500 responses that have been sent by this listener",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "stability" : "default",
          "access-type" : "metric",
          "storage" : "runtime",
          "restart-required" : null,
          "capability-reference" : null
      }

- http2-enable-push - If server push is enabled for this connection

  Type | BOOLEAN
  Default Value | true
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "If server push is enabled for this connection",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : true,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- http2-header-table-size - The size of the header table used for HPACK compression, in bytes. This amount of memory will be allocated per connection for compression. Larger values use more memory but may give better compression.

  Type | INT
  Default Value | 4096
  Unit | BYTES
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Min | 1
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "The size of the header table used for HPACK compression, in bytes. This amount of memory will be allocated per connection for compression. Larger values use more memory but may give better compression.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 4096,
          "unit" : "BYTES",
          "min" : 1,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- http2-initial-window-size - The flow control window size that controls how quickly the client can send data to the server

  Type | INT
  Default Value | 65535
  Unit | BYTES
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Min | 1
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "The flow control window size that controls how quickly the client can send data to the server",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 65535,
          "unit" : "BYTES",
          "min" : 1,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- http2-max-concurrent-streams - The maximum number of HTTP/2 streams that can be active at any time on a single connection

  Type | INT
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Min | 1
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "The maximum number of HTTP/2 streams that can be active at any time on a single connection",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "min" : 1,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- http2-max-frame-size - The max HTTP/2 frame size

  Type | INT
  Default Value | 16384
  Unit | BYTES
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Min | 1
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "The max HTTP/2 frame size",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 16384,
          "unit" : "BYTES",
          "min" : 1,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- http2-max-header-list-size - The maximum size of request headers the server is prepared to accept

  Type | INT
  Unit | BYTES
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Min | 1
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "The maximum size of request headers the server is prepared to accept",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "unit" : "BYTES",
          "min" : 1,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- max-buffered-request-size - Maximum size of a buffered request, in bytes. Requests are not usually buffered, the most common case is when performing SSL renegotiation for a POST request, and the post data must be fully buffered in order to perform the renegotiation.

  Type | INT
  Default Value | 16384
  Unit | BYTES
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Min | 1
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "Maximum size of a buffered request, in bytes. Requests are not usually buffered, the most common case is when performing SSL renegotiation for a POST request, and the post data must be fully buffered in order to perform the renegotiation.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 16384,
          "unit" : "BYTES",
          "min" : 1,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- max-connections - The maximum number of concurrent connections. Only values greater than 0 are allowed. For unlimited connections simply undefine this attribute value.

  Type | INT
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Min | 1
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "The maximum number of concurrent connections. Only values greater than 0 are allowed. For unlimited connections simply undefine this attribute value.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "min" : 1,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- max-cookies - The maximum number of cookies that will be parsed. This is used to protect against hash vulnerabilities.

  Type | INT
  Default Value | 200
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Min | 1
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "The maximum number of cookies that will be parsed. This is used to protect against hash vulnerabilities.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 200,
          "min" : 1,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- max-header-size - The maximum size of a http request header, in bytes.

  Type | INT
  Default Value | 1048576
  Unit | BYTES
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Min | 1
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "The maximum size of a http request header, in bytes.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 1048576,
          "unit" : "BYTES",
          "min" : 1,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- max-headers - The maximum number of headers that will be parsed. This is used to protect against hash vulnerabilities.

  Type | INT
  Default Value | 200
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Min | 1
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "The maximum number of headers that will be parsed. This is used to protect against hash vulnerabilities.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 200,
          "min" : 1,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- max-parameters - The maximum number of parameters that will be parsed. This is used to protect against hash vulnerabilities. This applies to both query parameters, and to POST data, but is not cumulative (i.e. you can potentially have max parameters * 2 total parameters).

  Type | INT
  Default Value | 1000
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Min | 1
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "The maximum number of parameters that will be parsed. This is used to protect against hash vulnerabilities. This applies to both query parameters, and to POST data, but is not cumulative (i.e. you can potentially have max parameters * 2 total parameters).",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 1000,
          "min" : 1,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- max-post-size - The maximum size of a post that will be accepted, in bytes.

  Type | LONG
  Default Value | 10485760
  Unit | BYTES
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Min | 0
  Max | 9223372036854775807
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "LONG"
          },
          "description" : "The maximum size of a post that will be accepted, in bytes.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 10485760,
          "unit" : "BYTES",
          "min" : 0,
          "max" : 9223372036854775807,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- max-processing-time - The maximum processing time taken by a request on this listener

  Type | LONG
  Unit | NANOSECONDS
  Where is the attribute stored? | runtime
  Access Type | metric
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "LONG"
          },
          "description" : "The maximum processing time taken by a request on this listener",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "unit" : "NANOSECONDS",
          "stability" : "default",
          "access-type" : "metric",
          "storage" : "runtime",
          "restart-required" : null,
          "capability-reference" : null
      }

- no-request-timeout - The length of time in milliseconds that the connection can be idle before it is closed by the container.

  Type | INT
  Default Value | 60000
  Unit | MILLISECONDS
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "The length of time in milliseconds that the connection can be idle before it is closed by the container.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 60000,
          "unit" : "MILLISECONDS",
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- processing-time - The total processing time of all requests handed by this listener

  Type | LONG
  Unit | NANOSECONDS
  Where is the attribute stored? | runtime
  Access Type | metric
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "LONG"
          },
          "description" : "The total processing time of all requests handed by this listener",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "unit" : "NANOSECONDS",
          "stability" : "default",
          "access-type" : "metric",
          "storage" : "runtime",
          "restart-required" : null,
          "capability-reference" : null
      }

- proxy-address-forwarding - Enables handling of x-forwarded-host header (and other x-forwarded-* headers) and use this header information to set the remote address. This should only be used behind a trusted proxy that sets these headers otherwise a remote user can spoof their IP address.

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | resource-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "Enables  handling of x-forwarded-host header (and other x-forwarded-* headers) and use this header information to set the remote address. This should only be used behind a trusted proxy that sets these headers otherwise a remote user can spoof their IP address.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- proxy-protocol - If this is true then the listener will use the proxy protocol v1, as defined by https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt. This option MUST only be enabled for listeners that are behind a load balancer that supports the same protocol.

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | resource-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "If this is true then the listener will use the proxy protocol v1, as defined by https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt. This option MUST only be enabled for listeners that are behind a load balancer that supports the same protocol.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- read-timeout - Configure a read timeout for a socket, in milliseconds. If the given amount of time elapses without a successful read taking place, the socket's next read will throw a {@link ReadTimeoutException}.

  Type | INT
  Default Value | 90000
  Unit | MILLISECONDS
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "Configure a read timeout for a socket, in milliseconds.  If the given amount of time elapses without a successful read taking place, the socket's next read will throw a {@link ReadTimeoutException}.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 90000,
          "unit" : "MILLISECONDS",
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- receive-buffer - The receive buffer size, in bytes.

  Type | INT
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Min | 1
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "The receive buffer size, in bytes.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "min" : 1,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- record-request-start-time - If this is true then Undertow will record the request start time, to allow for request time to be logged. This has a small but measurable performance impact

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "If this is true then Undertow will record the request start time, to allow for request time to be logged. This has a small but measurable performance impact",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- redirect-socket - If this listener is supporting non-SSL requests, and a request is received for which a matching requires SSL transport, undertow will automatically redirect the request to the socket binding port specified here.

  Type | STRING
  Is the attribute nillable? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | resource-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "STRING"
          },
          "description" : "If this listener is supporting non-SSL requests, and a request is received for which a matching  requires SSL transport, undertow will automatically redirect the request to the socket binding port specified here.",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "capability-reference" : "org.wildfly.network.socket-binding",
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "access-constraints" : {"sensitive" : {"socket-binding-ref" : {"type" : "core"}}},
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services"
      }

- request-count - The number of requests this listener has served

  Type | LONG
  Where is the attribute stored? | runtime
  Access Type | metric
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "LONG"
          },
          "description" : "The number of requests this listener has served",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "stability" : "default",
          "access-type" : "metric",
          "storage" : "runtime",
          "restart-required" : null,
          "capability-reference" : null
      }

- request-parse-timeout - The maximum amount of time (in milliseconds) that can be spent parsing the request

  Type | INT
  Unit | MILLISECONDS
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "The maximum amount of time (in milliseconds) that can be spent parsing the request",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "unit" : "MILLISECONDS",
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- require-host-http11 - Require that all HTTP/1.1 requests have a 'Host' header, as per the RFC. IF the request does not include this header it will be rejected with a 403.

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "Require that all HTTP/1.1 requests have a 'Host' header, as per the RFC. IF the request does not include this header it will be rejected with a 403.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- resolve-peer-address - Enables host dns lookup

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | resource-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "Enables host dns lookup",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- rfc6265-cookie-validation - If cookies should be validated to ensure they comply with RFC6265.

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "If cookies should be validated to ensure they comply with RFC6265.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- secure - If this is true then requests that originate from this listener are marked as secure, even if the request is not using HTTPS.

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | resource-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "If this is true then requests that originate from this listener are marked as secure, even if the request is not using HTTPS.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- send-buffer - The send buffer size, in bytes.

  Type | INT
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Min | 1
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "The send buffer size, in bytes.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "min" : 1,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- socket-binding - The listener socket binding

  Type | STRING
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "STRING"
          },
          "description" : "The listener socket binding",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "capability-reference" : "org.wildfly.network.socket-binding",
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "access-constraints" : {"sensitive" : {"socket-binding-ref" : {"type" : "core"}}},
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services"
      }

- tcp-backlog - Configure a server with the specified backlog.

  Type | INT
  Default Value | 10000
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Min | 1
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "Configure a server with the specified backlog.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 10000,
          "min" : 1,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- tcp-keep-alive - Configure a channel to send TCP keep-alive messages in an implementation-dependent manner.

  Type | BOOLEAN
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "Configure a channel to send TCP keep-alive messages in an implementation-dependent manner.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- url-charset - URL charset

  Type | STRING
  Default Value | UTF-8
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "STRING"
          },
          "description" : "URL charset",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : "UTF-8",
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- worker - The listeners XNIO worker

  Type | STRING
  Default Value | default
  Is the attribute nillable? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "STRING"
          },
          "description" : "The listeners XNIO worker",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "default" : "default",
          "capability-reference" : "org.wildfly.io.worker",
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services"
      }

- write-timeout - Configure a write timeout for a socket, in milliseconds. If the given amount of time elapses without a successful write taking place, the socket's next write will throw a {@link WriteTimeoutException}.

  Type | INT
  Default Value | 90000
  Unit | MILLISECONDS
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "Configure a write timeout for a socket, in milliseconds.  If the given amount of time elapses without a successful write taking place, the socket's next write will throw a {@link WriteTimeoutException}.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 90000,
          "unit" : "MILLISECONDS",
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

## Operations (3)

- add - Add listener

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  allow-encoded-slash | BOOLEAN | false | true | false | If a request comes in with encoded / characters (i.e. %2F), will these be decoded.
  allow-equals-in-cookie-value | BOOLEAN | false | true | false | If this is true then Undertow will allow non-escaped equals characters in unquoted cookie values. Unquoted cookie values may not contain equals characters. If present the value ends before the equals sign. The remainder of the cookie value will be dropped.
  allow-unescaped-characters-in-url | BOOLEAN | false | true | false | If this is true Undertow will accept non-encoded characters that are disallowed by the URI specification. This defaults to false, and in general should not be needed as most clients correctly encode characters. Note that setting this to true can be considered a security risk, as allowing non-standard characters can allow request smuggling attacks in some circumstances.
  always-set-keep-alive | BOOLEAN | false | true | true | If this is true then a Connection: keep-alive header will be added to responses, even when it is not strictly required by the specification.
  buffer-pipelined-data | BOOLEAN | false | true | false | If we should buffer pipelined requests.
  buffer-pool | STRING | false | false | default | The listeners buffer pool
  certificate-forwarding | BOOLEAN | false | true | false | If certificate forwarding should be enabled. If this is enabled then the listener will take the certificate from the SSL_CLIENT_CERT attribute. This should only be enabled if behind a proxy, and the proxy is configured to always set these headers.
  decode-url | BOOLEAN | false | true | true | If this is true then the parser will decode the URL and query parameters using the selected character encoding (UTF-8 by default). If this is false they will not be decoded. This will allow a later handler to decode them into whatever charset is desired.
  disallowed-methods | LIST | false | true | ["TRACE"] | A comma separated list of HTTP methods that are not allowed
  enable-http2 | BOOLEAN | false | true | false | Enables HTTP2 support for this listener
  enabled | BOOLEAN | false | true | true | If the listener is enabled
  http2-enable-push | BOOLEAN | false | true | true | If server push is enabled for this connection
  http2-header-table-size | INT | false | true | 4096 | The size of the header table used for HPACK compression, in bytes. This amount of memory will be allocated per connection for compression. Larger values use more memory but may give better compression.
  http2-initial-window-size | INT | false | true | 65535 | The flow control window size that controls how quickly the client can send data to the server
  http2-max-concurrent-streams | INT | false | true |  | The maximum number of HTTP/2 streams that can be active at any time on a single connection
  http2-max-frame-size | INT | false | true | 16384 | The max HTTP/2 frame size
  http2-max-header-list-size | INT | false | true |  | The maximum size of request headers the server is prepared to accept
  max-buffered-request-size | INT | false | true | 16384 | Maximum size of a buffered request, in bytes. Requests are not usually buffered, the most common case is when performing SSL renegotiation for a POST request, and the post data must be fully buffered in order to perform the renegotiation.
  max-connections | INT | false | true |  | The maximum number of concurrent connections. Only values greater than 0 are allowed. For unlimited connections simply undefine this attribute value.
  max-cookies | INT | false | true | 200 | The maximum number of cookies that will be parsed. This is used to protect against hash vulnerabilities.
  max-header-size | INT | false | true | 1048576 | The maximum size of a http request header, in bytes.
  max-headers | INT | false | true | 200 | The maximum number of headers that will be parsed. This is used to protect against hash vulnerabilities.
  max-parameters | INT | false | true | 1000 | The maximum number of parameters that will be parsed. This is used to protect against hash vulnerabilities. This applies to both query parameters, and to POST data, but is not cumulative (i.e. you can potentially have max parameters * 2 total parameters).
  max-post-size | LONG | false | true | 10485760 | The maximum size of a post that will be accepted, in bytes.
  no-request-timeout | INT | false | true | 60000 | The length of time in milliseconds that the connection can be idle before it is closed by the container.
  proxy-address-forwarding | BOOLEAN | false | true | false | Enables handling of x-forwarded-host header (and other x-forwarded-* headers) and use this header information to set the remote address. This should only be used behind a trusted proxy that sets these headers otherwise a remote user can spoof their IP address.
  proxy-protocol | BOOLEAN | false | true | false | If this is true then the listener will use the proxy protocol v1, as defined by https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt. This option MUST only be enabled for listeners that are behind a load balancer that supports the same protocol.
  read-timeout | INT | false | true | 90000 | Configure a read timeout for a socket, in milliseconds. If the given amount of time elapses without a successful read taking place, the socket's next read will throw a {@link ReadTimeoutException}.
  receive-buffer | INT | false | true |  | The receive buffer size, in bytes.
  record-request-start-time | BOOLEAN | false | true | false | If this is true then Undertow will record the request start time, to allow for request time to be logged. This has a small but measurable performance impact
  redirect-socket | STRING | false | false |  | If this listener is supporting non-SSL requests, and a request is received for which a matching requires SSL transport, undertow will automatically redirect the request to the socket binding port specified here.
  request-parse-timeout | INT | false | true |  | The maximum amount of time (in milliseconds) that can be spent parsing the request
  require-host-http11 | BOOLEAN | false | true | false | Require that all HTTP/1.1 requests have a 'Host' header, as per the RFC. IF the request does not include this header it will be rejected with a 403.
  resolve-peer-address | BOOLEAN | false | true | false | Enables host dns lookup
  rfc6265-cookie-validation | BOOLEAN | false | true | false | If cookies should be validated to ensure they comply with RFC6265.
  secure | BOOLEAN | false | true | false | If this is true then requests that originate from this listener are marked as secure, even if the request is not using HTTPS.
  send-buffer | INT | false | true |  | The send buffer size, in bytes.
  socket-binding | STRING | true | false |  | The listener socket binding
  tcp-backlog | INT | false | true | 10000 | Configure a server with the specified backlog.
  tcp-keep-alive | BOOLEAN | false | true |  | Configure a channel to send TCP keep-alive messages in an implementation-dependent manner.
  url-charset | STRING | false | true | UTF-8 | URL charset
  worker | STRING | false | false | default | The listeners XNIO worker
  write-timeout | INT | false | true | 90000 | Configure a write timeout for a socket, in milliseconds. If the given amount of time elapses without a successful write taking place, the socket's next write will throw a {@link WriteTimeoutException}.

  Raw DMR model |
      {
          "operation-name" : "add",
          "description" : "Add listener",
          "request-properties" : {
              "allow-encoded-slash" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "If a request comes in with encoded / characters (i.e. %2F), will these be decoded.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "allow-equals-in-cookie-value" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "If this is true then Undertow will allow non-escaped equals characters in unquoted cookie values. Unquoted cookie values may not contain equals characters. If present the value ends before the equals sign. The remainder of the cookie value will be dropped.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "allow-unescaped-characters-in-url" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "If this is true Undertow will accept non-encoded characters that are disallowed by the URI specification. This defaults to false, and in general should not be needed as most clients correctly encode characters. Note that setting this to true can be considered a security risk, as allowing non-standard characters can allow request smuggling attacks in some circumstances.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "always-set-keep-alive" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "If this is true then a Connection: keep-alive header will be added to responses, even when it is not strictly required by the specification.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : true,
                  "stability" : "default"
              },
              "buffer-pipelined-data" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "If we should buffer pipelined requests.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "buffer-pool" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The listeners buffer pool",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "default" : "default",
                  "capability-reference" : "org.wildfly.undertow.byte-buffer-pool",
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "certificate-forwarding" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "If certificate forwarding should be enabled. If this is enabled then the listener will take the certificate from the SSL_CLIENT_CERT attribute. This should only be enabled if behind a proxy, and the proxy is configured to always set these headers.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "decode-url" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "If this is true then the parser will decode the URL and query parameters using the selected character encoding (UTF-8 by default). If this is false they will not be decoded. This will allow a later handler to decode them into whatever charset is desired.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : true,
                  "stability" : "default"
              },
              "disallowed-methods" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "LIST"
                  },
                  "description" : "A comma separated list of HTTP methods that are not allowed",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : ["TRACE"],
                  "min-length" : 0,
                  "max-length" : 2147483647,
                  "stability" : "default",
                  "value-type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  }
              },
              "enable-http2" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "Enables HTTP2 support for this listener",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "enabled" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "If the listener is enabled",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : true,
                  "stability" : "default",
                  "deprecated" : {
                      "since" : "3.2.0",
                      "reason" : "Enabled attributes are being deprecated, as they cause problems in enforcement of configuration consistency."
                  }
              },
              "http2-enable-push" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "If server push is enabled for this connection",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : true,
                  "stability" : "default"
              },
              "http2-header-table-size" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "The size of the header table used for HPACK compression, in bytes. This amount of memory will be allocated per connection for compression. Larger values use more memory but may give better compression.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 4096,
                  "unit" : "BYTES",
                  "min" : 1,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "http2-initial-window-size" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "The flow control window size that controls how quickly the client can send data to the server",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 65535,
                  "unit" : "BYTES",
                  "min" : 1,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "http2-max-concurrent-streams" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "The maximum number of HTTP/2 streams that can be active at any time on a single connection",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "min" : 1,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "http2-max-frame-size" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "The max HTTP/2 frame size",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 16384,
                  "unit" : "BYTES",
                  "min" : 1,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "http2-max-header-list-size" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "The maximum size of request headers the server is prepared to accept",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "unit" : "BYTES",
                  "min" : 1,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "max-buffered-request-size" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "Maximum size of a buffered request, in bytes. Requests are not usually buffered, the most common case is when performing SSL renegotiation for a POST request, and the post data must be fully buffered in order to perform the renegotiation.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 16384,
                  "unit" : "BYTES",
                  "min" : 1,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "max-connections" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "The maximum number of concurrent connections. Only values greater than 0 are allowed. For unlimited connections simply undefine this attribute value.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "min" : 1,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "max-cookies" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "The maximum number of cookies that will be parsed. This is used to protect against hash vulnerabilities.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 200,
                  "min" : 1,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "max-header-size" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "The maximum size of a http request header, in bytes.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 1048576,
                  "unit" : "BYTES",
                  "min" : 1,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "max-headers" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "The maximum number of headers that will be parsed. This is used to protect against hash vulnerabilities.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 200,
                  "min" : 1,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "max-parameters" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "The maximum number of parameters that will be parsed. This is used to protect against hash vulnerabilities. This applies to both query parameters, and to POST data, but is not cumulative (i.e. you can potentially have max parameters * 2 total parameters).",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 1000,
                  "min" : 1,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "max-post-size" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "LONG"
                  },
                  "description" : "The maximum size of a post that will be accepted, in bytes.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 10485760,
                  "unit" : "BYTES",
                  "min" : 0,
                  "max" : 9223372036854775807,
                  "stability" : "default"
              },
              "no-request-timeout" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "The length of time in milliseconds that the connection can be idle before it is closed by the container.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 60000,
                  "unit" : "MILLISECONDS",
                  "stability" : "default"
              },
              "proxy-address-forwarding" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "Enables  handling of x-forwarded-host header (and other x-forwarded-* headers) and use this header information to set the remote address. This should only be used behind a trusted proxy that sets these headers otherwise a remote user can spoof their IP address.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "proxy-protocol" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "If this is true then the listener will use the proxy protocol v1, as defined by https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt. This option MUST only be enabled for listeners that are behind a load balancer that supports the same protocol.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "read-timeout" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "Configure a read timeout for a socket, in milliseconds.  If the given amount of time elapses without a successful read taking place, the socket's next read will throw a {@link ReadTimeoutException}.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 90000,
                  "unit" : "MILLISECONDS",
                  "stability" : "default"
              },
              "receive-buffer" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "The receive buffer size, in bytes.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "min" : 1,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "record-request-start-time" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "If this is true then Undertow will record the request start time, to allow for request time to be logged. This has a small but measurable performance impact",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "redirect-socket" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "If this listener is supporting non-SSL requests, and a request is received for which a matching  requires SSL transport, undertow will automatically redirect the request to the socket binding port specified here.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "capability-reference" : "org.wildfly.network.socket-binding",
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "request-parse-timeout" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "The maximum amount of time (in milliseconds) that can be spent parsing the request",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "unit" : "MILLISECONDS",
                  "stability" : "default"
              },
              "require-host-http11" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "Require that all HTTP/1.1 requests have a 'Host' header, as per the RFC. IF the request does not include this header it will be rejected with a 403.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "resolve-peer-address" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "Enables host dns lookup",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "rfc6265-cookie-validation" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "If cookies should be validated to ensure they comply with RFC6265.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "secure" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "If this is true then requests that originate from this listener are marked as secure, even if the request is not using HTTPS.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "send-buffer" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "The send buffer size, in bytes.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "min" : 1,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "socket-binding" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The listener socket binding",
                  "expressions-allowed" : false,
                  "required" : true,
                  "nillable" : false,
                  "capability-reference" : "org.wildfly.network.socket-binding",
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "tcp-backlog" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "Configure a server with the specified backlog.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 10000,
                  "min" : 1,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "tcp-keep-alive" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "Configure a channel to send TCP keep-alive messages in an implementation-dependent manner.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "stability" : "default"
              },
              "url-charset" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "URL charset",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : "UTF-8",
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "worker" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The listeners XNIO worker",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "default" : "default",
                  "capability-reference" : "org.wildfly.io.worker",
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "write-timeout" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "Configure a write timeout for a socket, in milliseconds.  If the given amount of time elapses without a successful write taking place, the socket's next write will throw a {@link WriteTimeoutException}.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 90000,
                  "unit" : "MILLISECONDS",
                  "stability" : "default"
              }
          },
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : false
      }

- remove - Listener name

  Raw DMR model |
      {
          "operation-name" : "remove",
          "description" : "Listener name",
          "request-properties" : {},
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : false
      }

- reset-statistics - Resets all the connector statistics to zero

  Raw DMR model |
      {
          "operation-name" : "reset-statistics",
          "description" : "Resets all the connector statistics to zero",
          "request-properties" : {},
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : true
      }

## Galleon Features

Galleon features are to be used when creating Galleon feature-packs.

- subsystem.undertow.server.http-listener

      <feature spec="subsystem.undertow.server.http-listener">
        <param name="http-listener" value="{resource name}"/>
        <param name="server" value="{resource name}"/>
        <param name="allow-encoded-slash" value="{value}"/>
        <param name="allow-equals-in-cookie-value" value="{value}"/>
        <param name="allow-unescaped-characters-in-url" value="{value}"/>
        <param name="always-set-keep-alive" value="{value}"/>
        <param name="buffer-pipelined-data" value="{value}"/>
        <param name="certificate-forwarding" value="{value}"/>
        <param name="decode-url" value="{value}"/>
        <param name="disallowed-methods" value="{value}"/>
        <param name="enable-http2" value="{value}"/>
        <param name="enabled" value="{value}"/>
        <param name="http2-enable-push" value="{value}"/>
        <param name="http2-header-table-size" value="{value}"/>
        <param name="http2-initial-window-size" value="{value}"/>
        <param name="http2-max-concurrent-streams" value="{value}"/>
        <param name="http2-max-frame-size" value="{value}"/>
        <param name="http2-max-header-list-size" value="{value}"/>
        <param name="max-buffered-request-size" value="{value}"/>
        <param name="max-connections" value="{value}"/>
        <param name="max-cookies" value="{value}"/>
        <param name="max-header-size" value="{value}"/>
        <param name="max-headers" value="{value}"/>
        <param name="max-parameters" value="{value}"/>
        <param name="max-post-size" value="{value}"/>
        <param name="no-request-timeout" value="{value}"/>
        <param name="proxy-address-forwarding" value="{value}"/>
        <param name="proxy-protocol" value="{value}"/>
        <param name="read-timeout" value="{value}"/>
        <param name="receive-buffer" value="{value}"/>
        <param name="record-request-start-time" value="{value}"/>
        <param name="redirect-socket" value="{value}"/>
        <param name="request-parse-timeout" value="{value}"/>
        <param name="require-host-http11" value="{value}"/>
        <param name="resolve-peer-address" value="{value}"/>
        <param name="rfc6265-cookie-validation" value="{value}"/>
        <param name="secure" value="{value}"/>
        <param name="send-buffer" value="{value}"/>
        <param name="socket-binding" value="{value}"/>
        <param name="tcp-backlog" value="{value}"/>
        <param name="tcp-keep-alive" value="{value}"/>
        <param name="url-charset" value="{value}"/>
        <param name="write-timeout" value="{value}"/>
      <feature/>