Documentation
¶
Index ¶
- Constants
- Variables
- type Config
- type ServerHandler
- func (h *ServerHandler) Change(newValue string)
- func (h *ServerHandler) CreateTemplateServer() error
- func (h *ServerHandler) Label() string
- func (h *ServerHandler) MainInputFileRelativePath() string
- func (h *ServerHandler) Name() string
- func (h *ServerHandler) NewFileEvent(fileName, extension, filePath, event string) error
- func (h *ServerHandler) RefreshUI()
- func (h *ServerHandler) RestartServer() error
- func (h *ServerHandler) SetCompilationOnDisk(onDisk bool)
- func (h *ServerHandler) SetExternalServerMode(external bool) error
- func (h *ServerHandler) SetLog(f func(message ...any))
- func (h *ServerHandler) StartServer(wg *sync.WaitGroup)
- func (h *ServerHandler) StopServer() error
- func (h *ServerHandler) SupportedExtensions() []string
- func (h *ServerHandler) UnobservedFiles() []string
- func (h *ServerHandler) Value() string
- type ServerStrategy
- type Store
- type UI
Constants ¶
const StoreKeyCompilationOnDisk = "server_compilation_ondisk"
const StoreKeyExternalServer = "server_external_mode"
Variables ¶
var TestMode bool
TestMode is a global flag to indicate the server is running in a test environment. This is used to disable aggressive cleanups and other disruptive behaviors.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
AppRootDir string // e.g., /home/user/project (application root directory)
SourceDir string // directory location of main.go e.g., src/cmd/appserver (relative to AppRootDir)
OutputDir string // compilation and execution directory e.g., deploy/appserver (relative to AppRootDir)
PublicDir string // default public dir for generated server (e.g., src/web/public)
MainInputFile string // main input file name (default: "main.go", can be "server.go", etc.)
ArgumentsForCompilingServer func() []string // e.g., []string{"-X 'main.version=v1.0.0'"}
ArgumentsToRunServer func() []string // e.g., []string{"dev"}
AppPort string // e.g., 8080
Routes []func(*http.ServeMux) // Functions to register routes on the HTTP server
DisableGlobalCleanup bool // If true, disables global cleanup in gorun during restarts
Logger func(message ...any) // Logger function
ExitChan chan bool // Global channel to signal shutdown
Store Store // Persistent storage for modes
UI UI // UI for refresh notifications
}
type ServerHandler ¶
type ServerHandler struct {
*Config
// contains filtered or unexported fields
}
func New ¶
func New(c *Config) *ServerHandler
func (*ServerHandler) Change ¶ added in v0.1.28
func (h *ServerHandler) Change(newValue string)
Change implements HandlerEdit.Change
func (*ServerHandler) CreateTemplateServer ¶ added in v0.1.16
func (h *ServerHandler) CreateTemplateServer() error
CreateTemplateServer switches from Internal to External mode. It generates the server files (if not present), compiles, and runs them. This implements the transition from "Internal" to "External" mode.
func (*ServerHandler) Label ¶ added in v0.1.28
func (h *ServerHandler) Label() string
Label implements HandlerEdit.Label
func (*ServerHandler) MainInputFileRelativePath ¶
func (h *ServerHandler) MainInputFileRelativePath() string
MainInputFileRelativePath returns the path relative to AppRootDir (e.g., "src/cmd/appserver/main.go")
func (*ServerHandler) Name ¶ added in v0.1.21
func (h *ServerHandler) Name() string
func (*ServerHandler) NewFileEvent ¶
func (h *ServerHandler) NewFileEvent(fileName, extension, filePath, event string) error
event: create,write,remove,rename
func (*ServerHandler) RefreshUI ¶ added in v0.1.28
func (h *ServerHandler) RefreshUI()
func (*ServerHandler) RestartServer ¶
func (h *ServerHandler) RestartServer() error
func (*ServerHandler) SetCompilationOnDisk ¶ added in v0.1.25
func (h *ServerHandler) SetCompilationOnDisk(onDisk bool)
SetCompilationOnDisk sets whether the server artifacts should be written to disk.
func (*ServerHandler) SetExternalServerMode ¶ added in v0.1.19
func (h *ServerHandler) SetExternalServerMode(external bool) error
SetExternalServerMode switches between Internal and External server strategies. When switching to External, it also: 1. Generates server template files if they don't exist 2. Compiles the server 3. Starts the external process
func (*ServerHandler) SetLog ¶ added in v0.1.21
func (h *ServerHandler) SetLog(f func(message ...any))
func (*ServerHandler) StartServer ¶
func (h *ServerHandler) StartServer(wg *sync.WaitGroup)
StartServer initiates the server using the current strategy (In-Memory or External)
func (*ServerHandler) StopServer ¶ added in v0.1.24
func (h *ServerHandler) StopServer() error
StopServer stops the server and waits for the port to be released.
func (*ServerHandler) SupportedExtensions ¶
func (h *ServerHandler) SupportedExtensions() []string
func (*ServerHandler) UnobservedFiles ¶
func (h *ServerHandler) UnobservedFiles() []string
UnobservedFiles returns the list of files that should not be tracked by file watchers
func (*ServerHandler) Value ¶ added in v0.1.28
func (h *ServerHandler) Value() string
Value implements HandlerEdit.Value