# module WEBrick::Config

### Constants

BasicAuth

  Default configuration for `WEBrick::HTTPAuth::BasicAuth`

  :AutoReloadUserDB

    Reload the user database provided by :UserDB automatically?

DigestAuth

  Default configuration for `WEBrick::HTTPAuth::DigestAuth`.

  :Algorithm

    MD5, MD5-sess (default), SHA1, SHA1-sess

  :Domain

    An `Array` of URIs that define the protected space

  :Qop

    'auth' for authentication, 'auth-int' for integrity protection or both

  :UseOpaque

    Should the server send opaque values to the client? This helps prevent replay attacks.

  :CheckNc

    Should the server check the nonce count? This helps the server detect replay attacks.

  :UseAuthenticationInfoHeader

    Should the server send an AuthenticationInfo header?

  :AutoReloadUserDB

    Reload the user database provided by :UserDB automatically?

  :NonceExpirePeriod

    How long should we store used nonces? Default is 30 minutes.

  :NonceExpireDelta

    How long is a nonce valid? Default is 1 minute

  :InternetExplorerHack

    Hack which allows Internet Explorer to work.

  :OperaHack

    Hack which allows Opera to work.

FileHandler

  Default configuration for `WEBrick::HTTPServlet::FileHandler`

  :AcceptableLanguages

    `Array` of languages allowed for accept-language. There is no default

  :DirectoryCallback

    Allows preprocessing of directory requests. There is no default callback.

  :FancyIndexing

    If true, show an index for directories. The default is true.

  :FileCallback

    Allows preprocessing of file requests. There is no default callback.

  :HandlerCallback

    Allows preprocessing of requests. There is no default callback.

  :HandlerTable

    Maps file suffixes to file handlers. DefaultFileHandler is used by default but any servlet can be used.

  :NondisclosureName

    Do not show files matching this array of globs. .ht* and *~ are excluded by default.

  :UserDir

    Directory inside ~user to serve content from for /~user requests. Only works if mounted on /. Disabled by default.

General

  for `GenericServer`

HTTP

  for `HTTPServer`, `HTTPRequest`, `HTTPResponse` …

SSL

  Default `SSL` server configuration.

  `WEBrick` can automatically create a self-signed certificate if `:SSLCertName` is set. For more information on the various `SSL` options see `OpenSSL::SSL::SSLContext`.

  :ServerSoftware

    The server software name used in the Server: header.

  :SSLEnable

    false,

      Enable SSL for this server.  Defaults to false.

  :SSLCertificate

    The `SSL` certificate for the server.

  :SSLPrivateKey

    The `SSL` private key for the server certificate.

  :SSLClientCA

    nil,

      Array of certificates that will be sent to the client.

  :SSLExtraChainCert

    nil,

      Array of certificates that will be added to the certificate chain

  :SSLCACertificateFile

    nil,

      Path to a CA certificate file

  :SSLCACertificatePath

    nil,

      Path to a directory containing CA certificates

  :SSLCertificateStore

    nil,

      OpenSSL::X509::Store used for certificate validation of the client

  :SSLTmpDhCallback

    nil,

      Callback invoked when DH parameters are required.

  :SSLVerifyClient

    Sets whether the client is verified. This defaults to VERIFY_NONE which is typical for an HTTPS server.

  :SSLVerifyDepth

    Number of CA certificates to walk when verifying a certificate chain

  :SSLVerifyCallback

    Custom certificate verification callback

  :SSLServerNameCallback

    Custom servername indication callback

  :SSLTimeout

    Maximum session lifetime

  :SSLOptions

    Various `SSL` options

  :SSLCiphers

    Ciphers to be used

  :SSLStartImmediately

    Immediately start `SSL` upon connection? Defaults to true

  :SSLCertName

    `SSL` certificate name. Must be set to enable automatic certificate creation.

  :SSLCertComment

    Comment used during automatic certificate creation.