82 lines
1.7 KiB
Crystal
82 lines
1.7 KiB
Crystal
|
|
class Websocketc::Request
|
|
IPC::JSON.message Test, 2 do
|
|
def initialize
|
|
end
|
|
|
|
# def read_then_print(ws : WebSocket)
|
|
# m = read ws
|
|
# puts "message: #{String.new(m)}"
|
|
# end
|
|
#
|
|
# def read_then_print_hexa(ws : WebSocket)
|
|
# m = read ws
|
|
# print_hexa(String.new(m), "#{CBLUE}Received message hexa#{CRESET}")
|
|
# end
|
|
#
|
|
# def read(ws : WebSocket)
|
|
# puts "reading a message"
|
|
# m = ws.run_once
|
|
# if m.nil?
|
|
# raise "empty message"
|
|
# end
|
|
#
|
|
# m
|
|
# end
|
|
#
|
|
# def send_with_announce(ws : WebSocket, m : String)
|
|
# puts "sending #{m}"
|
|
# send ws, m
|
|
# end
|
|
#
|
|
# def send(ws : WebSocket, m : String | Slice)
|
|
# ws.send m
|
|
# end
|
|
|
|
|
|
def handle(websocketc : Websocketc::Service, event : IPC::Event::Events)
|
|
Baguette::Log.warning "within the test class"
|
|
|
|
# ws = WebSocket.new(URI.parse(Websocketc::Context.uri))
|
|
# puts "connection done: sending pong"
|
|
#
|
|
# ws.on_close do |socket|
|
|
# puts "socket is closing"
|
|
# exit 0
|
|
# end
|
|
#
|
|
# message = if Websocketc::Context.uri.ends_with? ".JSON"
|
|
# IPC::Message.new(0, 2.to_u8, 3.to_u8, STDIN.gets_to_end).to_json
|
|
# else
|
|
# IPC::Message.new(0, 2.to_u8, 3.to_u8, STDIN.gets_to_end).to_packet
|
|
# end
|
|
#
|
|
# puts "final message: #{message}"
|
|
# Websocketc::Context.rounds.times do |i|
|
|
# send ws, message
|
|
# pp! read ws
|
|
# end
|
|
#
|
|
# ws.close
|
|
## pp! ws.run_once
|
|
|
|
# At the end of this function, we should get something like this.
|
|
# connections[event.fd] = ws
|
|
|
|
Response::Success.new
|
|
rescue e
|
|
Baguette::Log.error "during ws init #{e}"
|
|
Response::Error.new "not implemented"
|
|
end
|
|
end
|
|
Websocketc.requests << Test
|
|
end
|
|
|
|
class Websocketc::Response
|
|
#IPC::JSON.message TestResponse, 2 do
|
|
# def initialize
|
|
# end
|
|
#end
|
|
end
|
|
|