I am using the canonical HTTP.WebSockets example but getting an iterator error on ws.
using HTTP.WebSockets
WebSockets.listen(host, convert(UInt16, port)) do ws
for message in ws
@show message
#send(ws, msg)
end
end
┌ Error: error handling request
│ exception =
│ MethodError: no method matching iterate(::HTTP.WebSockets.WebSocket{HTTP.ConnectionPool.Transaction{Sockets.TCPSocket}})
│ Closest candidates are:
│ iterate(::Union{LinRange, StepRangeLen}) at range.jl:872
│ iterate(::Union{LinRange, StepRangeLen}, ::Integer) at range.jl:872
│ iterate(::T) where T<:Union{Base.KeySet{<:Any, <:Dict}, Base.ValueIterator{<:Dict}} at dict.jl:712
│ ...
│ Stacktrace:
│ [1] (::Main.Tibra.var"#43#44")(ws::HTTP.WebSockets.WebSocket{HTTP.ConnectionPool.Transaction{Sockets.TCPSocket}})
│ @ Main.Tibra ~/src/tibra/Tibra.jl/src/tibrax_server/ws_server.jl:19
│ [2] upgrade(f::Main.Tibra.var"#43#44", http::HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.ConnectionPool.Transaction{Sockets.TCPSocket}}; binary::Bool)
│ @ HTTP.WebSockets ~/.julia/packages/HTTP/aTjcj/src/WebSockets.jl:160
│ [3] (::HTTP.WebSockets.var"#6#7"{Bool, Main.Tibra.var"#43#44"})(http::HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.ConnectionPool.Transaction{Sockets.TCPSocket}})
│ @ HTTP.WebSockets ~/.julia/packages/HTTP/aTjcj/src/WebSockets.jl:136
│ [4] macro expansion
│ @ ~/.julia/packages/HTTP/aTjcj/src/Servers.jl:415 [inlined]
│ [5] (::HTTP.Servers.var"#13#14"{HTTP.WebSockets.var"#6#7"{Bool, Main.Tibra.var"#43#44"}, HTTP.ConnectionPool.Transaction{Sockets.TCPSocket}, HTTP.Servers.Server{Nothing, Sockets.TCPServer}, HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.ConnectionPool.Transaction{Sockets.TCPSocket}}})()
│ @ HTTP.Servers ./task.jl:484
└ @ HTTP.Servers ~/.julia/packages/HTTP/aTjcj/src/Servers.jl:429