Module: Browserctl::CommandDispatcher::Handlers::ErrorPayload

Included in:
Browserctl::CommandDispatcher
Defined in:
lib/browserctl/server/handlers/error_payload.rb

Overview

Centralised structured-error builder for daemon JSON-RPC responses. Each handler returns ‘{ error:, code:, context:, suggested_action: }` for any failure carrying a stable Error::Codes code.

Instance Method Summary collapse

Instance Method Details

#error_payload(code:, message:, context: {}) ⇒ Hash{Symbol => Object}

Parameters:

  • code (String)

    a SCREAMING_SNAKE code from Codes

  • message (String)

    human-readable error

  • context (Hash) (defaults to: {})

    free-form structured fields (selector, path, …)

Returns:

  • (Hash{Symbol => Object})


16
17
18
19
20
21
22
23
# File 'lib/browserctl/server/handlers/error_payload.rb', line 16

def error_payload(code:, message:, context: {})
  {
    error: message,
    code: code,
    context: context,
    suggested_action: Browserctl::Error::SuggestedActions.for(code)
  }
end