webtool
Module
webtool
Module summary
WebTool is a tool used to simplify the implementation of web based tools with Erlang/OTP.
Description
WebTool makes it easy to use web based tools with Erlang/OTP. WebTool configures and starts the webserver httpd.
Exports
start()-> {ok,Pid}| {stop,Reason}
Start WebTool with default data, i.e. port 8888, ip-number 127.0.0.1, and server-name localhost
. If port 8888 is in use, port 8889 is tried instead. If 8889 is also in use, 8890 is tried and so on. Max number of ports tried is 256.
The mime.types
file and WebTool's own HTML files are assumed to be in the directory webtool-<vsn>/priv/root/conf
.
start(Path,Data)->{ok,Pid}|{stop,Reason}
Types:
Path = string() | standard_path Data = [Port,Address,Name] | PortNumber | standard_data Port = {port,PortNumber} Address = {bind_address,IpNumber} Name = {server_name,ServerName} PortNumber = integer() IpNumber = tuple(), e.g. {127,0,0,1} ServerName = string() Pid = pid()
Use this function to start WebTool if the default port, ip-number,servername or path can not be used.
Path
is the directory where the mime.types
file and WebTool's own HTML files are located. By default this is webtool-<vsn>/priv
, and in most cases there is no need to change this. If Path
is set to standard_path
the default will be used.
If Data
is set to PortNumber
, the default data will be used for ip-number (127.0.0.1
) and server name (localhost
).
stop()->void
Stop WebTool and the tools started by WebTool.
debug_app(Module)->void
Types:
Module = atom()
Debug a WebTool application by tracing all functions in the given module which are called from WebTool.
stop_debug()->void
Stop the tracing started by debug_app/1
, and format the trace log.
Callback functions
The following callback function must be implemented by each web based tool that will be used via WebTool. When started, WebTool searches the Erlang code path for *.tool files to locate all web based tools and their callback functions. See the WebTool User's Guide
for more information about the *.tool files.
Exports
Module:Func(Data)-> {Name,WebData}|error
Types:
Data = term() Name = atom() WebData = [WebOptions] WebOptions = LinkData | Alias | Start LinkData = {web_data,{ToolName,Url}} Alias = {alias,{VirtualPath,RealPath}} | {alias,{erl_alias,Path,[Modules]} Start = {start,StartData} ToolName = Url = VirtualPath = RealPath = Path = string() Modules = atom() StartData = AppData | ChildSpec | Func AppData = {app,AppName} ChildSpec = {child,child_spec()}
See the Reference Manual for the module supervisor in the STDLIB application for details about child_spec().
Func = {func,{StartMod,StartFunc,StartArg}, {StopMod,StopFunc,StopArg}} AppName = StartMod = StartFunc = StopMod = StopFunc =atom() StartArg = StopArg = [term()]
This is the configuration function (config_func
) which must be stated in the *.tool
file.
The function is called by WebTool at startup to retrieve the data needed to start and configure the tool. LinkData
is used by WebTool to create the link to the tool. Alias
is used to create the aliases needed by the webserver. Start
is used to start and stop the tool.
See Also
start_webtool(1)
, WebTool User's Guide
© 2010–2017 Ericsson AB
Licensed under the Apache License, Version 2.0.