constructor(webSocketDebuggerUrl, opts = {}) {
    ow(webSocketDebuggerUrl, ow.string)
    ow(webSocketDebuggerUrl, ow.string.includes('ws://'))
    ow(opts, ow.object.plain)
    this.opts = opts

    this.wsUrl = webSocketDebuggerUrl
    const wsUrlParts = urlParse(this.wsUrl)
    this.wsHost =
      wsUrlParts.hostname === '127.0.0.1' ? 'localhost' : wsUrlParts.hostname
    this.wsPort = wsUrlParts.port
  }
Base class handling common stuff

@ignore