summaryrefslogtreecommitdiff
path: root/vendor/bundle/ruby/3.4.0/gems/em-websocket-0.5.3/lib/em-websocket/close06.rb
blob: 14cc80ec69754a61481a816481d25d41a06e6453 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
module EventMachine
  module WebSocket
    module Close06
      def close_websocket(code, body)
        if code
          close_data = [code].pack('n')
          close_data << body if body
          send_frame(:close, close_data)
        else
          send_frame(:close, '')
        end
        @state = :closing
        start_close_timeout
      end

      def supports_close_codes?; true; end
    end
  end
end