WEBrick::HTTPServer のスーパークラス
GenericServer.new(config={}, default=WEBrick::Config::General)
GenericServer オブジェクトを生成する。config は設定を保存したハッシュ。 default にはデフォルトの設定を保存したハッシュを与える。デフォルト値は WEBrick::Config::General。
[key]
self.config[key] と同値。
config
サーバの設定を保存したハッシュを返す。
listen(address, port)
与えられたアドレスとポートで listen を開始し listeners に加える。 address は文字列。port は整数。listeners を返す。
listeners
listen している TCPServer オブジェクトの配列を返す。
logger
WEBrick::Log のインスタンスを返す。
shutdown
stop を呼び、全ての listeners を close する。
start()
start(){|soc| ... }
サーバをスタートする。 block が与えられた場合、block が実際のクライアントとの応答を担う。 block は TCPSocket オブジェクトを引数として呼び出される。
status
現在のサーバのステータスを Symbol オブジェクトで返す。値は :Running, :Stop, :Shutdown のいずれか。
stop
サーバを停止する。
tokens
MaxClient の設定のために使われる SizedQueue オブジェクトを返す。 SizedQueue オブジェクトのサイズは現在受け付けることのできるクライアントの数。
MaxClient を知りたい場合は self.tokens.max。self.tokens.max - self.tokens.length が現在のクライアントの接続数。
GenericServer.new(config) に与えた時に有効な設定とそのデフォルト値。
<URL:http://shogo.homelinux.org/~ysantoso/webrickguide/html/Server_Configuration.html>
WEBrick::Config::General = { :ServerName => Utils::getservername, :BindAddress => nil, # "0.0.0.0" or "::" or nil :Port => nil, # users MUST specifiy this!! :MaxClients => 100, # maximum number of the concurrent connections :ServerType => nil, # default: WEBrick::SimpleServer :Logger => nil, # default: WEBrick::Log.new :ServerSoftware => "WEBrick/#{WEBrick::VERSION} " + "(Ruby/#{RUBY_VERSION}/#{RUBY_RELEASE_DATE})", :TempDir => ENV['TMPDIR']||ENV['TMP']||ENV['TEMP']||'/tmp', :DoNotListen => false, :StartCallback => nil, :StopCallback => nil, :AcceptCallback => nil, :DoNotReverseLookup => nil, }
サーバのホスト名を表す文字列。デフォルトの Utils::getservername は /etc/hostname に書かれている文字列を設定する。
サーバのアドレスを指定する。デフォルトの nil や "0.0.0.0", "::" などを指定した 場合は使用可能なすべてのネットワークインターフェースに対して listen を開始する。 ホスト指定形式を参照。
サーバのポートを指定する。サービス指定形式を参照。
クライアントの最大接続数を表す整数。
ログをとるオブジェクト。Logger オブジェクトに定義されているべきメソッドに関しては WEBrick::Log を参照。一般的には WEBrick::Log.new(log_file, level) と log_file と level を設定し直すだけで十分。
true の場合、GenericServer オブジェクトを生成しただけでは listen を開始しない。
start 開始時に呼ばれる Proc オブジェクト。呼ばれる時に引数は 特に与えられない。
サーバを stop した時に呼ばれる Proc オブジェクト。呼ばれる時に引数は 特に与えられない。
クライアントからの接続を accept したときに呼ばれる Proc オブジェクト。 クライアントと接続された TCPSocket オブジェクトを引数として呼ばれる。
true の場合、ホスト名への逆引きを行わなくなる。 BasicSocket#do_not_reverse_lookup も参照。