module Faye::WebSocket::API

def begin_close(reason, code, options = {})

def begin_close(reason, code, options = {})
  return if @ready_state == CLOSED
  @ready_state = CLOSING
  @close_params = [reason, code]
  if @stream
    if options[:wait_for_write]
      @stream.close_connection_after_writing
    else
      @stream.close_connection
    end
  else
    finalize_close
  end
end