def server_setup(server)
logging_params = self.logging_params
logging_params.server_setup(self, server)
access_log_params = self.access_log_params
access_log_params.server_setup(self, server)
@loader.load
for mod_path, error in @loader.load_errors
server.err("error: not loaded #{mod_path.inspect}: #{error}")
end
doc_factory = @loader.factory
doc_factory.add_option(:pw_enc, @pw_enc)
doc_factory.setup
server_params = self.server_params
server_params.server_setup(self, server)
alias_list = self.aliases
alias_list.server_setup(self, server)
document_list = self.documents
for mount_info in document_list
name = mount_info['document']
args = mount_info['arguments']
path = mount_info['mount_path']
mask = mount_info['mount_mask']
host = mount_info['virtual_host']
begin
document = doc_factory.doc_build(name, args)
if (host) then
host += ':' + server_params.port.to_s
server.virtual_mount(host, document, path, mask)
else
server.mount(document, path, mask)
end
rescue StandardError, ScriptError
server.err("error: not mounted #{name.inspect} document: (#{$!.class}) #{$!}")
@doc_errors.push({ :document => name,
:arguments => args,
:mount_path => path,
:mount_mask => mask,
:virtual_host => host,
:exception => $!
})
end
end
filter_list = self.filters
for filter_info in filter_list
name = filter_info['filter']
args = filter_info['arguments']
path = filter_info['attach_path']
mask = filter_info['attach_mask']
host = filter_info['virtual_host']
begin
filter = doc_factory.filter_build(name, args)
if (host) then
host += ':' + server_params.port.to_s
server.virtual_attach(host, filter, path, mask)
else
server.attach(filter, path, mask)
end
rescue StandardError, ScriptError
server.err("error: not attached #{name.inspect} filter: (#{$!.class}) #{$!}")
@filter_errors.push({ :filter => name,
:arguments => args,
:attach_path => path,
:attach_mask => mask,
:virtual_host => host,
:exception => $!
})
end
end
admin_params = self.admin_params
admin_params.server_setup(self, server, @loader, doc_factory, @pw_enc, @page_path)
@server = server
server.close_hook{|s|
logfiles_close
}
nil
end