Class: Browserctl::CommandDispatcher
- Inherits:
-
Object
- Object
- Browserctl::CommandDispatcher
- Includes:
- Handlers::Cookies, Handlers::DaemonControl, Handlers::DevTools, Handlers::ErrorPayload, Handlers::Hitl, Handlers::Interaction, Handlers::Navigation, Handlers::Observation, Handlers::PageLifecycle, Handlers::State, Handlers::Storage
- Defined in:
- lib/browserctl/server/handlers/hitl.rb,
lib/browserctl/server/handlers/state.rb,
lib/browserctl/server/handlers/cookies.rb,
lib/browserctl/server/handlers/storage.rb,
lib/browserctl/server/handlers/devtools.rb,
lib/browserctl/server/command_dispatcher.rb,
lib/browserctl/server/handlers/navigation.rb,
lib/browserctl/server/handlers/interaction.rb,
lib/browserctl/server/handlers/observation.rb,
lib/browserctl/server/handlers/error_payload.rb,
lib/browserctl/server/handlers/daemon_control.rb,
lib/browserctl/server/handlers/page_lifecycle.rb
Defined Under Namespace
Modules: Handlers
Constant Summary collapse
- COMMAND_MAP =
{ "page_open" => :cmd_page_open, "page_close" => :cmd_page_close, "page_list" => :cmd_page_list, "page_focus" => :cmd_page_focus, "navigate" => :cmd_navigate, "wait" => :cmd_wait, "snapshot" => :cmd_snapshot, "auth_check" => :cmd_auth_check, "evaluate" => :cmd_evaluate, "fill" => :cmd_fill, "click" => :cmd_click, "screenshot" => :cmd_screenshot, "url" => :cmd_url, "ping" => :cmd_ping, "shutdown" => :cmd_shutdown, "pause" => :cmd_pause, "resume" => :cmd_resume, "devtools" => :cmd_devtools, "cookies" => :cmd_cookies, "set_cookie" => :cmd_set_cookie, "delete_cookies" => :cmd_delete_cookies, "import_cookies" => :cmd_import_cookies, "store" => :cmd_store, "fetch" => :cmd_fetch, "storage_get" => :cmd_storage_get, "storage_set" => :cmd_storage_set, "storage_export" => :cmd_storage_export, "storage_import" => :cmd_storage_import, "storage_delete" => :cmd_storage_delete, "press" => :cmd_press, "hover" => :cmd_hover, "upload" => :cmd_upload, "select" => :cmd_select, "dialog_accept" => :cmd_dialog_accept, "dialog_dismiss" => :cmd_dialog_dismiss, "state_save" => :cmd_state_save, "state_load" => :cmd_state_load, "state_list" => :cmd_state_list, "state_info" => :cmd_state_info, "state_delete" => :cmd_state_delete }.freeze
- SCREENSHOT_DIR =
File.("~/.browserctl/screenshots").freeze
- SCREENSHOT_ROOTS =
[SCREENSHOT_DIR, File.(".")].freeze
- SCREENSHOT_EXTS =
%w[.png .jpg .jpeg].freeze
Instance Method Summary collapse
-
#dispatch(req) ⇒ Hash{Symbol => Object}
Dispatches a parsed request to the appropriate handler.
-
#initialize(pages, driver, snapshot_builder = SnapshotBuilder.new, global_mutex: Mutex.new) ⇒ CommandDispatcher
constructor
A new instance of CommandDispatcher.
Methods included from Handlers::ErrorPayload
Constructor Details
#initialize(pages, driver, snapshot_builder = SnapshotBuilder.new, global_mutex: Mutex.new) ⇒ CommandDispatcher
Returns a new instance of CommandDispatcher.
82 83 84 85 86 87 88 89 |
# File 'lib/browserctl/server/command_dispatcher.rb', line 82 def initialize(pages, driver, snapshot_builder = SnapshotBuilder.new, global_mutex: Mutex.new) @pages = pages @driver = driver @snapshot_builder = snapshot_builder @global_mutex = global_mutex @kv_store = {} @kv_mutex = Mutex.new end |
Instance Method Details
#dispatch(req) ⇒ Hash{Symbol => Object}
Dispatches a parsed request to the appropriate handler. Returns ‘{ error: String, code: String }` for unknown commands.
95 96 97 98 99 100 101 102 103 |
# File 'lib/browserctl/server/command_dispatcher.rb', line 95 def dispatch(req) builtin = dispatch_builtin(req) return builtin if builtin plugin = dispatch_plugin(req) return plugin if plugin { error: "unknown command: #{req[:cmd]}" } end |