3 local startup = {}; |
3 local startup = {}; |
4 |
4 |
5 local prosody = { events = require "util.events".new() }; |
5 local prosody = { events = require "util.events".new() }; |
6 |
6 |
7 local config = require "core.configmanager"; |
7 local config = require "core.configmanager"; |
8 local async = require "util.async"; |
|
9 |
8 |
10 local dependencies = require "util.dependencies"; |
9 local dependencies = require "util.dependencies"; |
11 |
10 |
12 local original_logging_config; |
11 local original_logging_config; |
13 |
12 |
499 startup.init_http_client(); |
498 startup.init_http_client(); |
500 startup.make_dummy_hosts(); |
499 startup.make_dummy_hosts(); |
501 end |
500 end |
502 |
501 |
503 function startup.prosody() |
502 function startup.prosody() |
504 async.once(function () |
503 -- These actions are in a strict order, as many depend on |
505 -- These actions are in a strict order, as many depend on |
504 -- previous steps to have already been performed |
506 -- previous steps to have already been performed |
505 startup.read_config(); |
507 startup.read_config(); |
506 startup.sanity_check(); |
508 startup.sanity_check(); |
507 startup.sandbox_require(); |
509 startup.sandbox_require(); |
508 startup.set_function_metatable(); |
510 startup.set_function_metatable(); |
509 startup.check_dependencies(); |
511 startup.check_dependencies(); |
510 startup.load_libraries(); |
512 startup.load_libraries(); |
511 startup.init_global_state(); |
513 startup.init_global_state(); |
512 startup.init_logging(); |
514 startup.init_logging(); |
513 startup.chdir(); |
515 startup.chdir(); |
514 startup.add_global_prosody_functions(); |
516 startup.add_global_prosody_functions(); |
515 startup.read_version(); |
517 startup.read_version(); |
516 startup.log_greeting(); |
518 startup.log_greeting(); |
517 startup.log_dependency_warnings(); |
519 startup.log_dependency_warnings(); |
518 startup.load_secondary_libraries(); |
520 startup.load_secondary_libraries(); |
519 startup.init_http_client(); |
521 startup.init_http_client(); |
520 startup.init_data_store(); |
522 startup.init_data_store(); |
521 startup.init_global_protection(); |
523 startup.init_global_protection(); |
522 startup.prepare_to_start(); |
524 startup.prepare_to_start(); |
523 startup.notify_started(); |
525 startup.notify_started(); |
|
526 end); |
|
527 end |
524 end |
528 |
525 |
529 return startup; |
526 return startup; |