Documentation
¶
Index ¶
- Constants
- func Logger(start time.Time, r *http.Request)
- func Middleware(inner http.Handler) http.Handler
- type AppConfig
- type AppConfigResponse
- type InterfaceConfig
- type LoginResponse
- type NetworkResponse
- type ProxyConfig
- type ProxyResponse
- type RecordResponse
- type RecordsResponse
- type ServiceResponse
- type StandardResponse
- type SystemResources
- type TimeConfig
- type TimeResponse
- type Web
- func (srv Web) AppConfig(w http.ResponseWriter, r *http.Request)
- func (srv Web) AppServices(w http.ResponseWriter, r *http.Request)
- func (srv Web) AuthCheck(r *http.Request) (*datastore.Session, error)
- func (srv Web) FactoryReset(w http.ResponseWriter, r *http.Request)
- func (srv Web) Index(w http.ResponseWriter, r *http.Request)
- func (srv Web) Login(w http.ResponseWriter, r *http.Request)
- func (srv Web) Logout(w http.ResponseWriter, r *http.Request)
- func (srv Web) MiddlewareWithAuth(inner http.Handler) http.Handler
- func (srv Web) Network(w http.ResponseWriter, r *http.Request)
- func (srv Web) NetworkApply(w http.ResponseWriter, r *http.Request)
- func (srv Web) NetworkInterface(w http.ResponseWriter, r *http.Request)
- func (srv Web) Proxy(w http.ResponseWriter, r *http.Request)
- func (srv Web) ProxyUpdate(w http.ResponseWriter, r *http.Request)
- func (srv Web) Router() *mux.Router
- func (srv Web) SnapList(w http.ResponseWriter, r *http.Request)
- func (srv Web) SnapSet(w http.ResponseWriter, r *http.Request)
- func (srv Web) Start() error
- func (srv Web) StartOnInterface(iface string) error
- func (srv Web) SystemResources(w http.ResponseWriter, r *http.Request)
- func (srv Web) Time(w http.ResponseWriter, r *http.Request)
- func (srv Web) TimeConfig(w http.ResponseWriter, r *http.Request)
- func (srv Web) TransferExport(w http.ResponseWriter, r *http.Request)
- func (srv Web) TransferImport(w http.ResponseWriter, r *http.Request)
Constants ¶
const JSONHeader = "application/json; charset=UTF-8"
JSONHeader is the header for JSON responses
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AppConfig ¶
type AppConfig struct {
SnapVersion string `json:"snapVersion"`
FactoryReset bool `json:"factoryReset"`
SnapControl bool `json:"snapControl"`
HideInterfaces []string `json:"hideInterfaces"`
Custom config.Custom `json:"custom"`
}
AppConfig holds the config for application
type AppConfigResponse ¶
type AppConfigResponse struct {
StandardResponse
Services interface{} `json:"config"`
}
AppConfigResponse the JSON response from a app config call
type InterfaceConfig ¶
type InterfaceConfig struct {
Use bool `json:"use"`
IsWifi bool `json:"isWifi"`
Method string `json:"method"`
Interface string `json:"interface"`
NameServers []string `json:"nameServers"`
Address string `json:"address"`
Mask string `json:"mask"`
Gateway string `json:"gateway"`
SSID string `json:"ssid"`
Password string `json:"password"`
}
InterfaceConfig defines the configuration of an interface
type LoginResponse ¶
type LoginResponse struct {
StandardResponse
Username string `json:"username"`
SessionID string `json:"sessionId"`
}
LoginResponse is the response message from a login action
type NetworkResponse ¶
type NetworkResponse struct {
StandardResponse
Interfaces []InterfaceConfig `json:"interfaces"`
}
NetworkResponse the JSON response from a network call
type ProxyConfig ¶
type ProxyConfig struct {
HTTP string `json:"http,omitempty"`
HTTPS string `json:"https,omitempty"`
FTP string `json:"ftp,omitempty"`
}
ProxyConfig holds the config for proxy servers
type ProxyResponse ¶
type ProxyResponse struct {
StandardResponse
Proxy interface{} `json:"proxy"`
}
ProxyResponse the JSON response from a proxy config call
type RecordResponse ¶
type RecordResponse struct {
StandardResponse
Record interface{} `json:"record"`
}
RecordResponse the JSON response from a get call
type RecordsResponse ¶
type RecordsResponse struct {
StandardResponse
Records interface{} `json:"records"`
}
RecordsResponse the JSON response from a list call
type ServiceResponse ¶
type ServiceResponse struct {
StandardResponse
Services interface{} `json:"services"`
}
ServiceResponse the JSON response from a app services call
type StandardResponse ¶
StandardResponse is the JSON response from an API method, indicating success or failure.
type SystemResources ¶
type SystemResources struct {
CPU float64 `json:"cpu"`
Memory float64 `json:"memory"`
Disk float64 `json:"disk"`
}
SystemResources is the monitor of system resources
type TimeConfig ¶
type TimeConfig struct {
NTP bool `json:"ntp"`
Time string `json:"time"`
Timezone string `json:"timezone"`
}
TimeConfig allows update of the time config
type TimeResponse ¶
type TimeResponse struct {
StandardResponse
Time interface{} `json:"time"`
}
TimeResponse the JSON response from a time config call
type Web ¶
type Web struct {
Settings *config.Settings
Auth service.AuthService
NetSrv network.Service
Snapd snapd.Client
TimeSrv service.TimeService
SystemSrv system.Service
TransferSrv transfer.Service
}
Web implements the web service
func NewWebService ¶
func NewWebService(settings *config.Settings, auth service.AuthService, network network.Service, snapd snapd.Client, t service.TimeService, sys system.Service, xfer transfer.Service) *Web
NewWebService starts a new web service
func (Web) AppConfig ¶
func (srv Web) AppConfig(w http.ResponseWriter, r *http.Request)
AppConfig is the API to get the application config
func (Web) AppServices ¶
func (srv Web) AppServices(w http.ResponseWriter, r *http.Request)
AppServices is the API to get the current application service status
func (Web) FactoryReset ¶
func (srv Web) FactoryReset(w http.ResponseWriter, r *http.Request)
FactoryReset triggers a factory reset on the device
func (Web) Index ¶
func (srv Web) Index(w http.ResponseWriter, r *http.Request)
Index is the front page of the web application
func (Web) Login ¶
func (srv Web) Login(w http.ResponseWriter, r *http.Request)
Login is the login web page
func (Web) Logout ¶
func (srv Web) Logout(w http.ResponseWriter, r *http.Request)
Logout is the logout web page to remove the session cookie
func (Web) MiddlewareWithAuth ¶
MiddlewareWithAuth handles authentication and redirects to the login page
func (Web) Network ¶
func (srv Web) Network(w http.ResponseWriter, r *http.Request)
Network is the API to get the network interface config
func (Web) NetworkApply ¶
func (srv Web) NetworkApply(w http.ResponseWriter, r *http.Request)
NetworkApply is the API to apply the current network configuration
func (Web) NetworkInterface ¶
func (srv Web) NetworkInterface(w http.ResponseWriter, r *http.Request)
NetworkInterface is the API to store the network interface configuration
func (Web) Proxy ¶
func (srv Web) Proxy(w http.ResponseWriter, r *http.Request)
Proxy is the API to get the proxy config
func (Web) ProxyUpdate ¶
func (srv Web) ProxyUpdate(w http.ResponseWriter, r *http.Request)
ProxyUpdate is the API to update the proxy config
func (Web) SnapList ¶
func (srv Web) SnapList(w http.ResponseWriter, r *http.Request)
SnapList list the installed snaps
func (Web) SnapSet ¶
func (srv Web) SnapSet(w http.ResponseWriter, r *http.Request)
SnapSet updates the config of a snap
func (Web) StartOnInterface ¶
StartOnInterface starts the web service on a specific network interface
func (Web) SystemResources ¶
func (srv Web) SystemResources(w http.ResponseWriter, r *http.Request)
SystemResources monitors the system resources
func (Web) Time ¶
func (srv Web) Time(w http.ResponseWriter, r *http.Request)
Time is the API for fetching the time config
func (Web) TimeConfig ¶
func (srv Web) TimeConfig(w http.ResponseWriter, r *http.Request)
TimeConfig is the API for configuring the time
func (Web) TransferExport ¶
func (srv Web) TransferExport(w http.ResponseWriter, r *http.Request)
TransferExport generates a file to export the current configuration
func (Web) TransferImport ¶
func (srv Web) TransferImport(w http.ResponseWriter, r *http.Request)
TransferImport gets an import configuration file and configures the current system