Cable
Inherits Habitat::SettingsHelpers < Habitat::TempConfig
TODO: Write documentation for Cable
Constants
HABITAT_SETTINGS = [{decl: route : String = Cable.message(:default_mount_path), example: "/cable", validation: nil}, {decl: token : String = "token", example: "token", validation: nil}, {decl: url : String = ENV["CABLE_BACKEND_URL"], example: "redis://localhost:6379", validation: nil}, {decl: disable_sec_websocket_protocol_header : Bool = false, example: nil, validation: nil}, {decl: backend_class : Cable::BackendCore.class = Cable::BackendRegistry, example: "Cable::RedisBackend", validation: nil}, {decl: backend_ping_interval : Time::Span = 15.seconds, example: nil, validation: nil}, {decl: restart_error_allowance : Int32 = 20, example: nil, validation: nil}, {decl: on_error : Proc(Exception, String, Cable::Connection | ::Nil, Nil) = ->(exception : Exception, message : String, connection : Cable::Connection | ::Nil) do
Cable::Logger.error(exception: exception) do message end
end, example: nil, validation: nil}] of Nil
INTERNAL = {
message_types: {
welcome: "welcome",
disconnect: "disconnect",
ping: "ping",
confirmation: "confirm_subscription",
rejection: "reject_subscription",
unsubscribe: "confirm_unsubscription",
},
channel: "_internal",
disconnect_reasons: {
unauthorized: "unauthorized",
invalid_request: "invalid_request",
server_restart: "server_restart",
remote: "remote",
},
default_mount_path: "/cable",
protocols: ["actioncable-v1-json", "actioncable-unsupported"],
}
Logger = Log.for(self)
VERSION = "0.4.0"
Class methods
configure
Sourcereset_server
Sourcerestart
Sourceserver
Sourcesettings
SourceInstance methods
settings
Source