Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library webrick/server > class WEBrick::GenericServer > new

singleton method WEBrick::GenericServer.new

new(config={}, default=WEBrick::Config::General)

GenericServer オブジェクトを生成して返します。

[PARAM] config:
サーバの設定を保存したハッシュを指定します。有効なキーと値は以下のとおりです。
:ServerName

サーバのホスト名を表す文字列を指定します。デフォルトの Utils.getservername は /etc/hostname に書かれている文字列です。

:BindAddress

サーバのアドレスを指定します。デフォルトの nil や "0.0.0.0", "::" などを指定した 場合は使用可能なすべてのネットワークインターフェースに対して listen を開始します。 [[m:socket#ホスト指定形式]]を参照して下さい。

:Port

サーバのポートを指定します。[[m:socket#サービス指定形式]]を参照を参照して下さい。

:MaxClients

クライアントの最大接続数を表す整数です。

:ServerType

サーバのタイプを表すクラスを指定します。 WEBrick::SimpleServerWEBrick::Daemon が 提供されています。

:Logger

ログをとるオブジェクト(Logger オブジェクト)を指定します。通常は WEBrick::Log のインスタンスを指定します。 WEBrick::Log.new(log_file, level) のように出力先とログレベルを設定することができます。 Logger オブジェクトに定義されているべきメソッドに関しては WEBrick::Log を参照して下さい。

:ServerSoftware

サーバソフトウェア名を文字列で指定します。WEBrick::HTTPServer では Server ヘッダにこの値が出力されます。

:DoNotListen

true の場合、GenericServer オブジェクトを生成しただけでは listen を開始しません。

:StartCallback

start 開始時に呼ばれる Proc オブジェクト。呼ばれる時に引数は 特に与えられません。

:StopCallback

サーバを stop した時に呼ばれる Proc オブジェクトを指定します。呼ばれる時に引数は 特に与えられません。

:AcceptCallback

クライアントからの接続を accept したときに呼ばれる Proc オブジェクトを指定します。 クライアントと接続された TCPSocket オブジェクトを引数として呼ばれます。

:DoNotReverseLookup

true の場合、ホスト名への逆引きを行わなくなります。 BasicSocket#do_not_reverse_lookup も参照して下さい。

[PARAM] default:
サーバのデフォルトの設定を保存したハッシュを指定します。指定された config で 設定がなかった項目に関してはこの default の値が使われます。

[SEE_ALSO] WEBrick::Config::General

new(config={}, default=WEBrick::Config::General) [redefined by webrick/ssl]

config で有効な項目が増える。以下は増える項目とそのデフォルト値。

#
:ServerSoftware       => "#{svrsoft} OpenSSL/#{osslv}",
:SSLEnable            => true, # ruby 1.8.3 以降では false がデフォルトです。
:SSLCertificate       => nil,
:SSLPrivateKey        => nil,
:SSLClientCA          => nil,
:SSLExtraChainCert    => nil,
:SSLCACertificateFile => nil,
:SSLCACertificatePath => nil,
:SSLCertificateStore  => nil,
:SSLVerifyClient      => ::OpenSSL::SSL::VERIFY_NONE,
:SSLVerifyDepth       => nil,
:SSLVerifyCallback    => nil,   # custom verification
:SSLTimeout           => nil,
:SSLOptions           => nil,
:SSLStartImmediately  => true,
# Must specify if you use auto generated certificate.
:SSLCertName          => nil,
:SSLCertComment       => "Generated by Ruby/OpenSSL"