All Downloads are FREE. Search and download functionalities are using the official Maven repository.

play.play-ws_2.10.2.4.7.source-code.reference.conf Maven / Gradle / Ivy

play {
  modules {
    enabled += "play.api.libs.ws.ning.NingWSModule"
    enabled += "play.api.libs.openid.OpenIDModule"
  }
  # Configuratino for Play ws
  ws {

    timeout {

      # If non null, the connection timeout, this is how long to wait for a TCP connection to be made
      connection = 2 minutes

      # If non null, the idle timeout, this is how long to wait for any IO activity from the remote host
      # while making a request
      idle = 2 minutes

      # If non null, the request timeout, this is the maximum amount of time to wait for the whole request
      request = 2 minutes
    }

    # Whether redirects should be followed
    followRedirects = true

    # Whether the JDK proxy properties should be read
    useProxyProperties = true

    # If non null, will set the User-Agent header on requests to this
    useragent = null

    # Whether compression should be used on incoming and outgoing requests
    compressionEnabled = false

    # ssl configuration
    ssl {

      # Whether we should use the default JVM SSL configuration or not
      default = false

      # The ssl protocol to use
      protocol = "TLSv1.2"

      # Whether revocation lists should be checked, if null, defaults to platform default setting.
      checkRevocation = null

      # A sequence of URLs for obtaining revocation lists
      revocationLists = []

      # The enabled cipher suites. If empty, uses the platform default.
      enabledCipherSuites = []

      # The enabled protocols. If empty, uses the platform default.
      enabledProtocols = ["TLSv1.2", "TLSv1.1", "TLSv1"]

      # The disabled signature algorithms
      disabledSignatureAlgorithms = ["MD2", "MD4", "MD5"]

      # The disabled key algorithms
      disabledKeyAlgorithms = ["RSA keySize < 2048", "DSA keySize < 2048", "EC keySize < 224"]

      # The debug configuration
      debug = []

      # The hostname verifier class.
      # If non null, should be the fully qualify classname of a class that imlpements HostnameVerifier, otherwise
      # the default will be used
      hostnameVerifierClass = null

      # Configuration for the key manager
      keyManager {
        # The key manager algorithm. If empty, uses the platform default.
        algorithm = null

        # The key stores
        stores = [
        ]
        # The key stores should look like this
        prototype.stores {
          # The store type. If null, defaults to the platform default store type, ie JKS.
          type = null

          # The path to the keystore file. Either this must be non null, or data must be non null.
          path = null

          # The data for the keystore. Either this must be non null, or path must be non null.
          data = null

          # The password for loading the keystore. If null, uses no password.
          password = null
        }
      }

      trustManager {
        # The trust manager algorithm. If empty, uses the platform default.
        algorithm = null

        # The trust stores
        stores = [
        ]
        # The key stores should look like this
        prototype.stores {
          # The store type. If null, defaults to the platform default store type, ie JKS.
          type = null

          # The path to the keystore file. Either this must be non null, or data must be non null.
          path = null

          # The data for the keystore. Either this must be non null, or path must be non null.
          data = null
        }

      }

      # The loose ssl options.  These allow configuring ssl to be more loose about what it accepts,
      # at the cost of introducing potential security issues.
      loose {

        # Whether weak protocols should be allowed
        allowWeakProtocols = false

        # Whether weak ciphers should be allowed
        allowWeakCiphers = false

        # If non null, overrides the platform default for whether legacy hello messsages should be allowed.
        allowLegacyHelloMessages = null

        # If non null, overrides the platform defalut for whether unsafe renegotiation should be allowed.
        allowUnsafeRenegotiation = null

        # Whether hostname verification should be disabled
        disableHostnameVerification = false

        # Whether any certificate should be accepted or not
        acceptAnyCertificate = false
      }

      # Debug configuration
      debug {

        # Turn on all debugging
        all = false

        # Turn on ssl debugging
        ssl = false

        # Turn certpath debugging on
        certpath = false

        # Turn ocsp debugging on
        ocsp = false

        # Enable per-record tracing
        record = false

        # hex dump of record plaintext, requires record to be true
        plaintext = false

        # print raw SSL/TLS packets, requires record to be true
        packet = false

        # Print each handshake message
        handshake = false

        # Print hex dump of each handshake message, requires handshake to be true
        data = false

        # Enable verbose handshake message printing, requires handshake to be true
        verbose = false

        # Print key generation data
        keygen = false

        # Print session activity
        session = false

        # Print default SSL initialization
        defaultctx = false

        # Print SSLContext tracing
        sslctx = false

        # Print session cache tracing
        sessioncache = false

        # Print key manager tracing
        keymanager = false

        # Print trust manager tracing
        trustmanager = false

        # Turn pluggability debugging on
        pluggability = false

      }
    }

    # Configuration specific to the Ning implementation of the WS client
    ning {

      # Whether connection pooling should be used.
      allowPoolingConnection = true

      # Whether connection pooling should be used for ssl connections.
      allowSslConnectionPool = true

      # The multiplier to use for the number of IO threads.
      ioThreadMultiplier = 2

      # The maximum number of connections to make per host. -1 means no maximum.
      maxConnectionsPerHost = -1

      # The maximum total number of connections. -1 means no maximum.
      maxConnectionsTotal = -1

      # The maximum number of redirects.
      maxNumberOfRedirects = 5

      # The maximum number of times to retry a request if it fails.
      maxRequestRetry = 5

      # If non null, the maximum time that a connection should live for in the pool.
      maxConnectionLifetime = null

      # If non null, the time after which a connection that has been idle in the pool should be closed.
      idleConnectionInPoolTimeout = 1 minute

      # If non null, the time after which a websocket connection should be closed.
      webSocketIdleTimeout = 15 minutes

      # Whether the raw URL should be used.
      disableUrlEncoding = false

    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy