OxygenInstance API
MINDFul.Server.OxygenInstance.adjustparams — Method
adjustparams(path, func)Adjust the order of path and func based on their types. This is used to support the do ... end syntax for the routing macros.
MINDFul.Server.OxygenInstance.clearcronjobs — Function
Clears all cron job defintions
MINDFul.Server.OxygenInstance.clearcronjobs — Method
clearcronjobs(ctx::ServerContext)
clearcronjobs()Clear all registered cron jobs.
MINDFul.Server.OxygenInstance.cleartasks — Function
cleartasks(ct::ServerContext)Clear any stored repeat task definitions
MINDFul.Server.OxygenInstance.cleartasks — Method
cleartasks(context::ServerContext)
cleartasks()Clear all registered repeat tasks.
MINDFul.Server.OxygenInstance.delete — Method
delete(func::Function, path::String)
delete(func::Function, path::HOFRouter)Convenience function to register a DELETE route. Equivalent to @delete.
MINDFul.Server.OxygenInstance.dynamicfiles — Function
dynamicfiles(folder::String, mountdir::String; headers::Vector{Pair{String,String}}=[], loadfile::Union{Function,Nothing}=nothing)Mount all files inside the /static folder (or user defined mount point), but files are re-read on each request. The headers array will get applied to all mounted files
MINDFul.Server.OxygenInstance.get — Method
get(func::Function, path::String)
get(func::Function, path::HOFRouter)Convenience function to register a GET route. Equivalent to @get.
MINDFul.Server.OxygenInstance.getexternalurl — Method
getexternalurl()Return the external URL of the service
MINDFul.Server.OxygenInstance.getschema — Method
getschema()Return the current internal schema for this app
MINDFul.Server.OxygenInstance.internalrequest — Function
internalrequest(req::HTTP.Request; middleware::Vector=[], serialize::Bool=true, catch_errors::Bool=true)Directly call one of our other endpoints registered with the router, using your own middleware and bypassing any globally defined middleware
MINDFul.Server.OxygenInstance.internalrequest — Method
internalrequest(req::Oxygen.Request; middleware::Vector=[], metrics::Bool=false, serialize::Bool=true, catch_errors=true)Sends an internal request to the server, allowing for communication between different parts of the application.
MINDFul.Server.OxygenInstance.mergeschema — Function
mergeschema(route::String, customschema::Dict)Merge the schema of a specific route
MINDFul.Server.OxygenInstance.patch — Method
patch(func::Function, path::String)
patch(func::Function, path::HOFRouter)Convenience function to register a PATCH route. Equivalent to @patch.
MINDFul.Server.OxygenInstance.post — Method
post(func::Function, path::String)
post(func::Function, path::HOFRouter)Convenience function to register a POST route. Equivalent to @post.
MINDFul.Server.OxygenInstance.put — Method
put(func::Function, path::String)
put(func::Function, path::HOFRouter)Convenience function to register a PUT route. Equivalent to @put.
MINDFul.Server.OxygenInstance.resetstate — Method
resetstate()Reset all the internal state variables
MINDFul.Server.OxygenInstance.router — Function
router(prefix::String = "";
tags::Vector{String} = Vector{String}(),
middleware::Nullable{Vector} = nothing,
interval::Nullable{Real} = nothing,
cron::Nullable{String} = nothing)Create a new router instance.
Arguments
prefix::String: A string to be prefixed to all routes in this router.tags::Vector{String}: A vector of strings to tag the router for documentation and management purposes.middleware::Nullable{Vector}: Optional middleware to be applied to all routes in the router.interval::Nullable{Real}: Optional interval for scheduling tasks.cron::Nullable{String}: Optional cron expression for scheduling tasks.
Returns
A router instance that can be used to define and manage a set of related routes.
MINDFul.Server.OxygenInstance.router — Function
MINDFul.Server.OxygenInstance.serve — Function
serve(; middleware::Vector=[], handler=stream_handler, host="127.0.0.1", port=8080, async=false, parallel=false, serialize=true, catch_errors=true, docs=true, metrics=true, show_errors=true, show_banner=true, docs_path="/docs", schema_path="/schema", external_url=nothing, revise, kwargs...)Start the webserver with your own custom request handler
MINDFul.Server.OxygenInstance.serveparallel — Method
serveparallel(; middleware::Vector=[], handler=stream_handler, host="127.0.0.1", port=8080, serialize=true, async=false, catch_errors=true, docs=true, metrics=true, kwargs...)MINDFul.Server.OxygenInstance.setschema — Method
setschema(customschema::Dict)Overwrites the entire internal schema
MINDFul.Server.OxygenInstance.startcronjobs — Function
startcronjobs()Start all the cron cronjobs within their own async task. Each individual task will loop conintually and sleep untill the next time it's suppost to
MINDFul.Server.OxygenInstance.startcronjobs — Method
startcronjobs(ctx::ServerContext)
startcronjobs()Start all registered cron jobs.
MINDFul.Server.OxygenInstance.starttasks — Function
starttasks()Start all background repeat tasks
MINDFul.Server.OxygenInstance.starttasks — Method
starttasks(context::ServerContext)
starttasks()Start all registered repeat tasks.
MINDFul.Server.OxygenInstance.staticfiles — Function
staticfiles(folder::String, mountdir::String; headers::Vector{Pair{String,String}}=[], loadfile::Union{Function,Nothing}=nothing)Mount all files inside the /static folder (or user defined mount point). The headers array will get applied to all mounted files
MINDFul.Server.OxygenInstance.stopcronjobs — Function
stopcronjobs()Stop each background task by toggling a global reference that all cron jobs reference
MINDFul.Server.OxygenInstance.stopcronjobs — Method
stopcronjobs(ctx::ServerContext)
stopcronjobs()Stop all running cron jobs.
MINDFul.Server.OxygenInstance.stoptasks — Function
stoptasks()Stop all background repeat tasks
MINDFul.Server.OxygenInstance.stoptasks — Method
stoptasks(context::ServerContext)
stoptasks()Stop all running repeat tasks.
MINDFul.Server.OxygenInstance.stream — Method
stream(func::Function, path::String)
stream(func::Function, path::HOFRouter)Convenience function to register a STREAM route. Equivalent to @stream.
MINDFul.Server.OxygenInstance.terminate — Function
terminate(ctx)Gracefully shuts down the webserver
MINDFul.Server.OxygenInstance.terminate — Method
terminate(context::ServerContext)
terminate()Terminate the server and stop all running tasks.
MINDFul.Server.OxygenInstance.websocket — Method
websocket(func::Function, path::String)
websocket(func::Function, path::HOFRouter)Convenience function to register a WEBSOCKET route. Equivalent to @websocket.
MINDFul.Server.OxygenInstance.@cron — Macro
@cron(expression::String, name::String, func::Function)This variation provides way manually "name" a registered function. This information is used by the server on startup to log out all cron jobs.
MINDFul.Server.OxygenInstance.@cron — Macro
@cron(expression::String, func::Function)Registers a function with a cron expression. This will extract either the function name or the random Id julia assigns to each lambda function.
MINDFul.Server.OxygenInstance.@delete — Macro
@delete(path::String, func::Function)Used to register a function to a specific endpoint to handle DELETE requests
MINDFul.Server.OxygenInstance.@dynamicfiles — Macro
@dynamicfiles(folder::String, mountdir::String, headers::Vector{Pair{String,String}}=[])Mount all files inside the /static folder (or user defined mount point), but files are re-read on each request
MINDFul.Server.OxygenInstance.@get — Macro
@get(path::String, func::Function)Used to register a function to a specific endpoint to handle GET requests
MINDFul.Server.OxygenInstance.@patch — Macro
@patch(path::String, func::Function)Used to register a function to a specific endpoint to handle PATCH requests
MINDFul.Server.OxygenInstance.@post — Macro
@post(path::String, func::Function)Used to register a function to a specific endpoint to handle POST requests
MINDFul.Server.OxygenInstance.@put — Macro
@put(path::String, func::Function)Used to register a function to a specific endpoint to handle PUT requests
MINDFul.Server.OxygenInstance.@repeat — Macro
@repeat(interval::Real, name::String, func::Function)
This variation provides way manually "name" a registered repeat task. This information is used by the server on startup to log out all cron jobs.
MINDFul.Server.OxygenInstance.@repeat — Macro
@repeat(interval::Real, func::Function)Registers a repeat task. This will extract either the function name or the random Id julia assigns to each lambda function.
MINDFul.Server.OxygenInstance.@route — Macro
@route(methods::Array{String}, path::String, func::Function)Used to register a function to a specific endpoint to handle mulitiple request types
MINDFul.Server.OxygenInstance.@staticfiles — Macro
@staticfiles(folder::String, mountdir::String, headers::Vector{Pair{String,String}}=[])Mount all files inside the /static folder (or user defined mount point)
MINDFul.Server.OxygenInstance.@stream — Macro
@stream(path::String, func::Function)Used to register a function to a specific endpoint to handle Streaming requests
MINDFul.Server.OxygenInstance.@websocket — Macro
@websocket(path::String, func::Function)Used to register a function to a specific endpoint to handle WebSocket connections