SERVERSServersCollection constant containing references to the current app's web and websockets servers.
ServersCollection(webserver::Union{Task,Nothing}, websockets::Union{Task,Nothing})Represents a object containing references to Genie's web and websockets servers.
down(; webserver::Bool = true, websockets::Bool = true) :: ServersCollectionShuts down the servers optionally indicating which of the webserver and websockets servers to be stopped. It does not remove the servers from the SERVERS collection. Returns the collection.
function down!(; webserver::Bool = true, websockets::Bool = true) :: Vector{ServersCollection}Shuts down all the servers and empties the SERVERS collection. Returns the empty collection.
handle_request(req::HTTP.Request, res::HTTP.Response) :: HTTP.ResponseHttp server handler function - invoked when the server gets a request.
handle_ws_request(req::HTTP.Request, msg::String, ws_client) :: StringHttp server handler function - invoked when the server gets a request.
isrunning.print_server_status.serve(path::String = pwd(), params...; kwparams...)Serves a folder of static files located at path. Allows Genie to be used as a static files web server. The params and kwparams arguments are forwarded to Genie.up().
Arguments
path::String: the folder of static files to be served by the serverparams: additional arguments which are passed toGenie.upto control the web serverkwparams: additional keyword arguments which are passed toGenie.upto control the web server
Examples
julia> Genie.serve("public", 8888, async = false, verbose = true)
[ Info: Ready!
2019-08-06 16:39:20:DEBUG:Main: Web Server starting at http://127.0.0.1:8888
[ Info: Listening on: 127.0.0.1:8888
[ Info: Accept (1): ๐ 0โ 0โ 1s 127.0.0.1:8888:8888 โฃ16server_status.setup_http_listener(req::HTTP.Request, res::HTTP.Response = HTTP.Response()) :: HTTP.ResponseConfigures the handler for the HTTP Request and handles errors.
setup_http_streamer.setup_ws_handler(stream::HTTP.Stream, ws_client) :: NothingConfigures the handler for WebSockets requests.
up(port::Int = Genie.config.server_port, host::String = Genie.config.server_host;
ws_port::Int = Genie.config.websockets_port, async::Bool = ! Genie.config.run_as_server) :: ServersCollectionStarts the web server.
Arguments
port::Int: the port used by the web serverhost::String: the host used by the web serverws_port::Int: the port used by the Web Sockets serverasync::Bool: run the web server task asynchronously
Examples
julia> up(8000, "127.0.0.1", async = false)
[ Info: Ready!
Web Server starting at http://127.0.0.1:8000update_config(port::Int, host::String, ws_port::Int) :: NothingUpdates the corresponding Genie configurations to the corresponding values for port, host, and ws_port, if these are passed as arguments when starting up the server.