diff --git a/src/providers/generic_http.jl b/src/providers/generic_http.jl index 4bd96b78..d4f9706a 100644 --- a/src/providers/generic_http.jl +++ b/src/providers/generic_http.jl @@ -80,23 +80,20 @@ function WebIOServer( baseurl::String = "127.0.0.1", http_port::Int = 8081, verbose = false, singleton = true, websocket_route = "/webio_websocket/", - logger = devnull, server_kw_args... ) # TODO test if actually still running, otherwise restart even if singleton if !singleton || !isassigned(singleton_instance) - handler = HTTP.HandlerFunction() do req + function handler(req) response = default_response(req) response !== missing && return response return serve_assets(req) end - wshandler = WebSockets.WebsocketHandler() do req, sock + function wshandler(req, sock) req.target == websocket_route && websocket_handler(sock) end - server = WebSockets.ServerWS(handler, wshandler, logger; server_kw_args...) - server_task = with_logger(NullLogger()) do - @async WebSockets.serve(server, baseurl, http_port, verbose) - end + server = WebSockets.ServerWS(handler, wshandler; server_kw_args...) + server_task = @async WebSockets.serve(server, baseurl, http_port, verbose) singleton_instance[] = WebIOServer(server, server_task) end return singleton_instance[] diff --git a/test/http-tests.jl b/test/http-tests.jl index 8c441c3c..bd6ea73f 100644 --- a/test/http-tests.jl +++ b/test/http-tests.jl @@ -2,8 +2,6 @@ using WebIO using WebSockets using Test -# Don't test until HTTP.jl version issues are fixed. -if false @testset "HTTP provider" begin output = sprint(io-> show(io, WebIO.WEBIO_APPLICATION_MIME(), node(:div, "hello, world"))) @test occursin("_webIOWebSocketURL = ", output) @@ -12,5 +10,3 @@ if false @test WebIO.webio_server_config[] == (url = "127.0.0.1", bundle_url = WebIO.bundle_key, http_port = 8081, ws_url = "ws://127.0.0.1:8081/webio_websocket/") @test isassigned(WebIO.singleton_instance) end -end -