common

package module
v1.9.47 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 17, 2024 License: Apache-2.0 Imports: 76 Imported by: 51

README

COMMON

Project description of COMMON

This is the automatic generated project description of COMMON. Stay tuned for updates :-)

License

All software is copyright and protected by the Apache License, Version 2.0. https://www.apache.org/licenses/LICENSE-2.0

Documentation

Index

Constants

View Source
const (
	APACHE string = "https://www.apache.org/licenses/LICENSE-2.0.html"

	SERVICE_SIMULATE  = "simulate"
	SERVICE_START     = "start"
	SERVICE_STOP      = "stop"
	SERVICE_RESTART   = "restart"
	SERVICE_INSTALL   = "install"
	SERVICE_UNINSTALL = "uninstall"
)
View Source
const (
	FlagNameAppProduct      = "app.product"
	FlagNameAppTicker       = "app.ticker"
	FlagNameService         = "service"
	FlagNameServiceUsername = "service.username"
	FlagNameServicePassword = "service.password"
	FlagNameServiceTimeout  = "service.timeout"
	FlagNameScriptTimeout   = "script.timeout"
	FlagNameScriptStart     = "script.start"
	FlagNameScriptStop      = "script.stop"
	FlagNameUsage           = "h"
	FlagNameUsageMd         = "hmd"
	FlagNameUsageAll        = "hs"
	FlagNameUsageAllMd      = "hsmd"
	FlagNameNoBanner        = "nb"
)
View Source
const (
	FlagNameCfgFile   = "cfg.file"
	FlagNameCfgReset  = "cfg.reset"
	FlagNameCfgCreate = "cfg.create"
)
View Source
const (
	//Year parse mask
	Year = "2006"
	//Month parse mask
	Month = "01"
	//Day parse mask
	Day = "02"
	//Hour parse mask
	Hour = "15"
	//Minute parse mask
	Minute = "04"
	//Second parse mask
	Second = "05"
	//Milli parse mask
	Msec = ".000"
	//DateSeparator parse mask
	DateSeparator = "."
	//TimeSeparator parse mask
	TimeSeparator = ":"
	//Separator parse mask
	Separator = " "
)
View Source
const (
	AUTHORIZATION = "Authorization"
	BEARER        = "Bearer"

	ACCEPT              = "Accept"
	CONTENT_TYPE        = "Content-Type"
	CONTENT_LENGTH      = "Content-Length"
	CONTENT_MD5         = "Content-MD5"
	CONTENT_DISPOSITION = "Content-Disposition"
	CONTENT_ENCODING    = "Content-Encoding"

	ACCEPT_ENCODING = "Accept-Encoding"

	HEADER_LOCATION = "Location"

	FlagNameHTTPHeaderLimit = "http.headerlimit"
	FlagNameHTTPBodyLimit   = "http.bodylimit"
	FlagNameHTTPTLSInsecure = "http.tlsinsecure"
	FlagNameHTTPTimeout     = "http.timeout"
	FlagNameHTTPGzip        = "http.gzip"
)
View Source
const (
	FlagNameLogFileName     = "log.file"
	FlagNameLogFileSize     = "log.filesize"
	FlagNameLogVerbose      = "log.verbose"
	FlagNameLogVerboseError = "log.verbose.error"
	FlagNameLogIO           = "log.io"
	FlagNameLogJson         = "log.json"
	FlagNameLogSys          = "log.sys"
	FlagNameLogCount        = "log.count"
	FlagNameLogBreakOnError = "log.breakonerror"
	FlagNameLogGap          = "log.gap"
	FlagNameLogEqualError   = "log.equalerror"
)
View Source
const (
	LevelDebug = "DEBUG"
	LevelInfo  = "INFO"
	LevelWarn  = "WARN"
	LevelError = "ERROR"
	LevelFatal = "FATAL"
)
View Source
const (
	LOCALHOST_IP4 = "127.0.0.1"
	LOCALHOST_IP6 = "::1"
)
View Source
const (
	FlagNameIoNetworkIface     = "io.network.iface"
	FlagNameIoNetworkTimeout   = "io.network.timeout"
	FlagNameIoConnectTimeout   = "io.connect.timeout"
	FlagNameIoReadwriteTimeout = "io.readwrite.timeout"
)
View Source
const (
	FlagNameIoSwapBufferThreshold   = "io.swapbuffer.threshold"
	FlagNameIoSwapBufferCompression = "io.swapbuffer.compression"
)
View Source
const (
	FlagNameTlsInsecure    = "tls.insecure"
	FlagNameTlsVerify      = "tls.verify"
	FlagNameTlsServername  = "tls.servername"
	FlagNameTlsMinVersion  = "tls.minversion"
	FlagNameTlsMaxVersion  = "tls.maxversion"
	FlagNameTlsCiphers     = "tls.ciphers"
	FlagNameTlsPassword    = "tls.password"
	FlagNameTlsCertificate = "tls.certificate"
	FlagNameTlsMutual      = "tls.mutual"
	FlagNameTlsKeylen      = "tls.keylen"
)
View Source
const (
	TlsVersion10 = "TLS1.0"
	TlsVersion11 = "TLS1.1"
	TlsVersion12 = "TLS1.2"
	TlsVersion13 = "TLS1.3"
)
View Source
const (
	BIG5        = "big5"
	IBM437      = "ibm437"
	IBM850      = "ibm850"
	IBM866      = "ibm866"
	ISO_8859_1  = "iso-8859-1"
	ISO_8859_10 = "iso-8859-10"

	ISO_8859_2   = "iso-8859-2"
	ISO_8859_3   = "iso-8859-3"
	ISO_8859_4   = "iso-8859-4"
	ISO_8859_5   = "iso-8859-5"
	ISO_8859_6   = "iso-8859-6"
	ISO_8859_7   = "iso-8859-7"
	ISO_8859_8   = "iso-8859-8"
	ISO_8859_9   = "iso-8859-9"
	KOI8_R       = "koi8-r"
	US_ASCII     = "us-ascii"
	UTF_16       = "utf-16"
	UTF_16BE     = "utf-16be"
	UTF_16LE     = "utf-16le"
	UTF_8        = "utf-8"
	WINDOWS_1250 = "windows-1250"
	WINDOWS_1251 = "windows-1251"
	WINDOWS_1252 = "windows-1252"
)
View Source
const (
	SchemeSep       = "://"
	OpaqueSep       = ":"
	CredentialSep   = "@"
	CredentialSplit = ":"
	CidrSep         = "/"
	CidrSplit       = ":"
	CidrSplitV6     = "]:"
	ParamsSep       = "?"
	ParamSep        = "&"
	ParamValueSep   = "="
)
View Source
const (
	OPTION_FILE             = "file"
	OPTION_HIDDEN           = "hidden"
	OPTION_SELECT           = "select"
	OPTION_MULTISELECT      = "multiselect"
	OPTION_DATALIST         = "datalist"
	OPTION_PASSWORD         = "password"
	OPTION_AUTOFOCUS        = "autofocus"
	OPTION_REQUIRED         = "required"
	OPTION_READONLY         = "readonly"
	OPTION_MULTILINE        = "multiline"
	OPTION_WIDE             = "wide"
	OPTION_MEGALINE         = "megaline"
	OPTION_NO_LABEL         = "no_label"
	OPTION_EXPERTVIEW       = "expertview"
	OPTION_NO_DEFAULTBUTTON = "no_defaultbutton"
	OPTION_CODE             = "code"

	INPUT_WIDTH_NORMAL = "pure-input-1-4"
	INPUT_WIDTH_WIDE   = "pure-input-1-2"

	CSS_DIALOG_CONTENT     = "css-dialog-content pure-controls"
	CSS_DEFAULT_CONTENT    = "css-default-content pure-controls"
	CSS_ERROR_BOX          = "css-error-box"
	CSS_WARNING_BOX        = "css-warning-box blink"
	CSS_SUCCESS_BOX        = "css-success-box"
	CSS_VERTICAL_DIV       = "css-vertical-div"
	CSS_LOGVIEWER          = "css-logviewer"
	CSS_CONTENT            = "css-content"
	CSS_CHECKLIST          = "css-checklist"
	CSS_CHECKLIST_CHECKBOX = "css-checklist-checkbox"
	CSS_CHECKBOX           = "css-checkbox"
	CSS_BUTTON_GROUP       = "css-button-group"
	CSS_BORDER             = "css-border"
	CSS_CODE               = "css-code"

	CSS_COLOR_OFF = "#CFCFCF"
	CSS_COLOR_ON  = "MediumSeaGreen"

	MAX_INPUT_LENGTH = "10240"

	FLASH_WARNING = "warning-flash"
	FLASH_ERROR   = "error-flash"
	FLASH_SUCCESS = "success-flash"

	COOKIE_PASSWORD = "password"
	COOKIE_EXPIRE   = "expire"

	FLASH_TIMEOUT   = time.Second
	REFRESH_TIMEOUT = time.Second * 30
)
View Source
const (
	FlagNameAppLanguage = "app.language"
)
View Source
const (
	FlagNameIoFileBackups = "io.file.backups"
)
View Source
const (
	MimetypeHeaderLen = 1024
)
View Source
const UNKNOWN = "unknwon"

Variables

View Source
var (
	FlagService         = SystemFlagString(FlagNameService, "", "Service operation ("+strings.Join([]string{SERVICE_SIMULATE, SERVICE_START, SERVICE_STOP, SERVICE_RESTART, SERVICE_INSTALL, SERVICE_UNINSTALL}, ",")+")")
	FlagServiceUser     = SystemFlagString(FlagNameServiceUsername, "", "Service user")
	FlagServicePassword = SystemFlagString(FlagNameServicePassword, "", "Service password")
	FlagServiceTimeout  = SystemFlagInt(FlagNameServiceTimeout, 1000, "Service timeout")
	FlagScriptTimeout   = SystemFlagInt(FlagNameScriptTimeout, 5000, "Script timeout")
	FlagScriptStart     *string
	FlagScriptStop      *string
	FlagUsage           = flag.Bool(FlagNameUsage, false, "show flags description and usage")
	FlagUsageMd         = flag.Bool(FlagNameUsageMd, false, "show flags description and usage in markdown format")
	FlagUsageAll        = flag.Bool(FlagNameUsageAll, false, "show flags and system flags description and usage")
	FlagUsageAllMd      = flag.Bool(FlagNameUsageAllMd, false, "show flags and system flags description and usage in markdown format")
	FlagNoBanner        = flag.Bool(FlagNameNoBanner, false, "no copyright banner")

	FlagAppProduct *string
	FlagAppTicker  *int
)
View Source
var (
	FlagNameConcurrentLimit   = "concurrent.limit"
	FlagNameConcurrentTimeout = "concurrent.timeout"
)
View Source
var (
	FlagConcurrentLimit   = flag.Int(FlagNameConcurrentLimit, Max(4, runtime.NumCPU()*2), "Limit of maximum current running tasks")
	FLagConcurrentTimeout = flag.Int(FlagNameConcurrentTimeout, 10000, "Tinmeout waiting for running a current running tasks")
)
View Source
var (
	FlagHTTPHeaderLimit = SystemFlagInt64(FlagNameHTTPHeaderLimit, 1024*1024, "HTTP header limit")
	FlagHTTPBodyLimit   = SystemFlagInt64(FlagNameHTTPBodyLimit, 5*1024*1024*1024, "HTTP body limit")
	FlagHTTPTLSInsecure = SystemFlagBool(FlagNameHTTPTLSInsecure, true, "HTTP default TLS insecure")
	FlagHTTPTimeout     = SystemFlagInt(FlagNameHTTPTimeout, 120000, "HTTP default request timeout")
	FlagHTTPGzip        = SystemFlagBool(FlagNameHTTPGzip, true, "HTTP GZip support")

	ErrUnauthorized  = fmt.Errorf("Unauthorized")
	ErrNoBodyContent = fmt.Errorf("no HTTP body provided")
)
View Source
var (
	ReadOnlyFileMode = FileMode(true, false, false)
	DefaultFileMode  = FileMode(true, true, false)
	DefaultDirMode   = FileMode(true, true, true)

	FlagIoFileBackups = SystemFlagInt(FlagNameIoFileBackups, 3, "amount of file backups")
)
View Source
var (
	FlagLogFileName     = SystemFlagString(FlagNameLogFileName, "", "filename to log file")
	FlagLogFileSize     = SystemFlagInt(FlagNameLogFileSize, 5*1024*1024, "max log file size")
	FlagLogVerbose      = flag.Bool(FlagNameLogVerbose, false, "verbose logging")
	FlagLogVerboseError = flag.Bool(FlagNameLogVerboseError, false, "verbose error logging")
	FlagLogIO           = SystemFlagBool(FlagNameLogIO, false, "trace logging")
	FlagLogJson         = SystemFlagBool(FlagNameLogJson, false, "JSON output")
	FlagLogSys          = SystemFlagBool(FlagNameLogSys, false, "Use OS system logger")
	FlagLogCount        = SystemFlagInt(FlagNameLogCount, 1000, "log count")
	FlagLogBreakOnError = SystemFlagString(FlagNameLogBreakOnError, "", "break on logging an error")
	FlagLogGap          = SystemFlagInt(FlagNameLogGap, 100, "time gap after show a separator")
	FlagLogEqualError   = SystemFlagBool(FlagNameLogEqualError, false, "Log equal (repeated) error")

	LogDebug *log.Logger = log.New(rw, prefix(LevelDebug), 0)
	LogInfo  *log.Logger = log.New(rw, prefix(LevelInfo), 0)
	LogWarn  *log.Logger = log.New(rw, prefix(LevelWarn), 0)
	LogError *log.Logger = log.New(os.Stderr, prefix(LevelError), 0)
	LogFatal *log.Logger = log.New(os.Stderr, prefix(LevelFatal), 0)
)
View Source
var (
	MimetypeApplicationDicom                                                     = registerMimeType("application/dicom", "dcm")
	MimetypeApplicationDicomJson                                                 = registerMimeType("application/dicom+json", "dcm.json")
	MimetypeApplicationEpubZip                                                   = registerMimeType("application/epub+zip", "epub")
	MimetypeApplicationGeoJson                                                   = registerMimeType("application/geo+json", "geojson")
	MimetypeApplicationGmlXml                                                    = registerMimeType("application/gml+xml", "gml")
	MimetypeApplicationGpxXml                                                    = registerMimeType("application/gpx+xml", "gpx")
	MimetypeApplicationGzip                                                      = registerMimeType("application/gzip", "gz")
	MimetypeApplicationJar                                                       = registerMimeType("application/jar", "jar")
	MimetypeApplicationJavascript                                                = registerMimeType("application/javascript", "js")
	MimetypeApplicationJson                                                      = registerMimeType("application/json", "json")
	MimetypeApplicationMsword                                                    = registerMimeType("application/msword", "doc")
	MimetypeApplicationOctetStream                                               = registerMimeType("application/octet-stream", "bin")
	MimetypeApplicationOgg                                                       = registerMimeType("application/ogg", "ogg")
	MimetypeApplicationPdf                                                       = registerMimeType("application/pdf", "pdf")
	MimetypeApplicationPostscript                                                = registerMimeType("application/postscript", "ps")
	MimetypeApplicationVndGarminTcxXml                                           = registerMimeType("application/vnd.garmin.tcx+xml", "tcx")
	MimetypeApplicationVndGoogleEarthKmlXml                                      = registerMimeType("application/vnd.google-earth.kml+xml", "kml")
	MimetypeApplicationVndMsExcel                                                = registerMimeType("application/vnd.ms-excel", "xls")
	MimetypeApplicationVndMsPowerpoint                                           = registerMimeType("application/vnd.ms-powerpoint", "ppt")
	MimetypeApplicationVndOpenxmlformatsOfficedocumentPresentationmlPresentation = registerMimeType("application/vnd.openxmlformats-officedocument.presentationml.presentation", "pptx")
	MimetypeApplicationVndOpenxmlformatsOfficedocumentSpreadsheetmlSheet         = registerMimeType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "xlsx")
	MimetypeApplicationVndOpenxmlformatsOfficedocumentWordprocessingmlDocument   = registerMimeType("application/vnd.openxmlformats-officedocument.wordprocessingml.document", "docx")
	MimetypeApplicationWasm                                                      = registerMimeType("application/wasm", "wasm")
	MimetypeApplicationX7ZCompressed                                             = registerMimeType("application/x-7z-compressed", "7z")
	MimetypeApplicationXChromeExtension                                          = registerMimeType("application/x-chrome-extension", "crx")
	MimetypeApplicationXJavaApplet                                               = registerMimeType("application/x-java-applet; charset=binary", "class")
	MimetypeApplicationXPhotoshop                                                = registerMimeType("application/x-photoshop", "psd")
	MimetypeApplicationXPython                                                   = registerMimeType("application/x-python", "py")
	MimetypeApplicationXShockwaveFlash                                           = registerMimeType("application/x-shockwave-flash", "swf")
	MimetypeApplicationXTar                                                      = registerMimeType("application/x-tar", "tar")
	MimetypeApplicationXWWWFormUrlencoded                                        = registerMimeType("application/x-www-form-urlencoded", "")
	MimetypeApplicationZip                                                       = registerMimeType("application/zip", "zip")
	MimetypeAudioAiff                                                            = registerMimeType("audio/aiff", "aiff")
	MimetypeAudioAmr                                                             = registerMimeType("audio/amr", "amr")
	MimetypeAudioApe                                                             = registerMimeType("audio/ape", "ape")
	MimetypeAudioBasic                                                           = registerMimeType("audio/basic", "au")
	MimetypeAudioFlac                                                            = registerMimeType("audio/flac", "flac")
	MimetypeAudioMidi                                                            = registerMimeType("audio/midi", "midi")
	MimetypeAudioMp4                                                             = registerMimeType("audio/mp4", "mp4")
	MimetypeAudioMpeg                                                            = registerMimeType("audio/mpeg", "mp3")
	MimetypeAudioMusepack                                                        = registerMimeType("audio/musepack", "mpc")
	MimetypeAudioWav                                                             = registerMimeType("audio/wav", "wav")
	MimetypeAudioXM4A                                                            = registerMimeType("audio/x-m4a", "m4a")
	MimetypeFontWoff                                                             = registerMimeType("font/woff", "woff")
	MimetypeFontWoff2                                                            = registerMimeType("font/woff2", "woff2")
	MimetypeImageBmp                                                             = registerMimeType("image/bmp", "bmp")
	MimetypeImageGif                                                             = registerMimeType("image/gif", "gif")
	MimetypeImageJpeg                                                            = registerMimeType("image/jpeg", "jpg")
	MimetypeImagePng                                                             = registerMimeType("image/png", "png")
	MimetypeImageSvgXml                                                          = registerMimeType("image/svg+xml", "svg")
	MimetypeImageTiff                                                            = registerMimeType("image/tiff", "tiff")
	MimetypeImageWebp                                                            = registerMimeType("image/webp", "webp")
	MimetypeImageXIcon                                                           = registerMimeType("image/x-icon", "ico")
	MimetypeModelVndColladaXml                                                   = registerMimeType("model/vnd.collada+xml", "dae")
	MimetypeModelX3DXml                                                          = registerMimeType("model/x3d+xml", "x3d")
	MimetypeTextHtml                                                             = registerMimeType("text/html; charset=utf-8", "html")
	MimetypeTextCss                                                              = registerMimeType("text/css", "css")
	MimetypeTextPlain                                                            = registerMimeType("text/plain", "txt")
	MimetypeTextRtf                                                              = registerMimeType("text/rtf", "rtf")
	MimetypeTextXml                                                              = registerMimeType("text/xml; charset=utf-8", "xml")
	MimetypeTextXLua                                                             = registerMimeType("text/x-lua", "lua")
	MimetypeTextXPerl                                                            = registerMimeType("text/x-perl", "pl")
	MimetypeTextXPhp                                                             = registerMimeType("text/x-php; charset=utf-8", "php")
	MimetypeTextXTcl                                                             = registerMimeType("text/x-tcl", "tcl")
	MimetypeVideo3GPP                                                            = registerMimeType("video/3gpp", "3gp")
	MimetypeVideo3GPP2                                                           = registerMimeType("video/3gpp2", "3g2")
	MimetypeVideoMp4                                                             = registerMimeType("video/mp4", "mp4")
	MimetypeVideoMpeg                                                            = registerMimeType("video/mpeg", "mpeg")
	MimetypeVideoQuicktime                                                       = registerMimeType("video/quicktime", "mov")
	MimetypeVideoWebm                                                            = registerMimeType("video/webm", "webm")
	MimetypeVideoXFlv                                                            = registerMimeType("video/x-flv", "flv")
	MimetypeVideoXMatroska                                                       = registerMimeType("video/x-matroska", "mkv")
	MimetypeVideoXMsvideo                                                        = registerMimeType("video/x-msvideo", "avi")
)
View Source
var (
	FlagIoPrimaryIface     = SystemFlagString(FlagNameIoNetworkIface, "", "primary ethernet interface")
	FlagIoNetworkTimeout   = SystemFlagInt(FlagNameIoNetworkTimeout, 10*1000, "network ready timeout")
	FlagIoConnectTimeout   = SystemFlagInt(FlagNameIoConnectTimeout, 3*1000, "network server and client dial timeout")
	FlagIoReadwriteTimeout = SystemFlagInt(FlagNameIoReadwriteTimeout, 30*60*1000, "network read/write timeout")
)
View Source
var (
	FlagIoSwapBufferThreshold   = SystemFlagInt(FlagNameIoSwapBufferThreshold, 1*1024*1024, "bytes count threshold to store to file")
	FlagIoSwapBufferCompression = SystemFlagBool(FlagNameIoSwapBufferCompression, true, "use compression with SwapBuffer")
)
View Source
var (
	FlagTlsInsecure    *bool
	FlagTlsVerify      *bool
	FlagTlsServername  *string
	FlagTlsMinVersion  *string
	FlagTlsMaxVersion  *string
	FlagTlsCiphers     *string
	FlagTlsPassword    *string
	FlagTlsCertificate *string
	FlagTlsMutual      *string
	FlagTlsKeyLen      *int
)
View Source
var (
	FlagAppLanguage *string

	I18nFile *ini.File
)
View Source
var (
	SessionStore *memstore.MemStore
	CookieTitle  = uuid.New().String()
)
View Source
var DateTimeMask = DateMask + Separator + TimeMask
View Source
var DateTimeMilliMask = DateMask + Separator + TimeMask + Msec
View Source
var (
	Events = NewEventManager()
)
View Source
var (
	GoRoutineVars = NewSyncOf(&vars)
)
View Source
var (
	MEMORY_UNITS = []string{"Bytes", "KB", "MB", "GB", "TB"}
)
View Source
var Mimetypes = make(map[string]MimetypeExtension)
View Source
var SortedDateMask = Year + "-" + Month + "-" + Day
View Source
var SortedDateTimeMilliMask = SortedDateMask + Separator + TimeMask + Msec
View Source
var (
	SystemFlagNames []string
)

Functions

func AESDecrypt added in v1.1.15

func AESDecrypt(key []byte, securemess string) (decodedmess string, err error)

func AESEncrypt added in v1.1.15

func AESEncrypt(key []byte, message string) (encmess string, err error)

func App

func App() *application

func AppFilename added in v1.1.15

func AppFilename(newExt string) string

func AppRestart added in v1.1.15

func AppRestart()

func AppShutdown added in v1.8.34

func AppShutdown()

func AppStartupCh added in v1.8.41

func AppStartupCh() <-chan error

func AuthenticateCookie added in v1.1.15

func AuthenticateCookie(context echo.Context, password string) error

func BasicAuthHandler added in v1.8.5

func BasicAuthHandler(mandatory bool, authFunc BasicAuthFunc, next http.HandlerFunc) http.HandlerFunc

func BindForm added in v1.1.15

func BindForm(context echo.Context, data interface{}, bodyLimit int) error

func CalcDeadline added in v1.6.13

func CalcDeadline(t time.Time, d time.Duration) time.Time

func CalcFileMode added in v1.1.15

func CalcFileMode(owner FilePermission, group FilePermission, public FilePermission) os.FileMode

func CanSetReadTimeout added in v1.5.49

func CanSetReadTimeout(reader io.Reader) bool

func CanSetWriteTimeout added in v1.5.49

func CanSetWriteTimeout(writer io.Writer) bool

func Capitalize

func Capitalize(txt string) string

Capitalize the first letter

func Catch added in v1.5.56

func Catch(fn func() error) (err error)

func CertificateAsPEM added in v1.1.84

func CertificateAsPEM(tlsCertificate *tls.Certificate) []byte

func CertificateInfoFromConnection added in v1.1.15

func CertificateInfoFromConnection(con *tls.Conn) (string, error)

func CheckCookieAuthenticated added in v1.2.26

func CheckCookieAuthenticated(context echo.Context, password string) error

func CleanPath

func CleanPath(path string) string

CleanPath cleans the given path and also replace to OS specific separators

func Clear added in v1.2.2

func Clear(v interface{}) error

func ClearDate

func ClearDate(v time.Time) time.Time

ClearDate returns only time part, date part set to 0

func ClearLogs added in v1.2.45

func ClearLogs()

func ClearTime

func ClearTime(v time.Time) time.Time

ClearTime returns only date part, time part set to 0

func Clone added in v1.5.52

func Clone[T any](in T) (T, error)

func CmdToString added in v1.1.20

func CmdToString(cmd *exec.Cmd) string

func Compare added in v1.5.27

func Compare[T constraints.Ordered](a, b T) int

func CompareDate

func CompareDate(t1 time.Time, t2 time.Time) time.Duration

EqualDateTime checks for equality of parts

func CompareHashes added in v1.8.5

func CompareHashes(expected string, actual string) error

func CompareTime

func CompareTime(t1 time.Time, t2 time.Time) time.Duration

EqualTime checks for equality of time

func ConcurrentLimitHandler added in v1.9.36

func ConcurrentLimitHandler(next http.HandlerFunc) http.HandlerFunc

func Contains added in v1.2.42

func Contains(slice interface{}, search interface{}) bool

func ContainsWildcard

func ContainsWildcard(s string) bool

func CopyBuffer added in v1.1.104

func CopyBuffer(ctx context.Context, cancel context.CancelFunc, name string, writer io.Writer, reader io.Reader, bufferSize int) (int64, error)

func CreateTTYOptions added in v1.4.15

func CreateTTYOptions(device string, mode *serial.Mode) (string, error)

func CreateTempDir

func CreateTempDir() (string, error)

CreateTempDir creates a temporary file

func CreateTempFile

func CreateTempFile() (file *os.File, err error)

CreateTempFile creates a temporary file

func CreateTlsConfig added in v1.1.84

func CreateTlsConfig(keylen int, password string) (*tls.Config, error)

func DataTransfer added in v1.2.44

func DataTransfer(ctx context.Context, cancel context.CancelFunc, leftName string, left io.ReadWriter, rightName string, right io.ReadWriter)

func Debug

func Debug(format string, args ...any)

func DebugError

func DebugError(err error) bool

func DebugErrorIndex added in v1.6.13

func DebugErrorIndex(index int, err error) bool

func DebugFunc

func DebugFunc(args ...any)

func DebugIndex added in v1.6.13

func DebugIndex(index int, format string, args ...any)

func DecryptString added in v1.1.15

func DecryptString(key []byte, txt string) (string, error)

func DefaultConsoleEncoding

func DefaultConsoleEncoding() string

func DefaultEncoding

func DefaultEncoding() string

func DisableCookie added in v1.1.21

func DisableCookie(context echo.Context) error

func Discover added in v1.1.15

func Discover(address string, timeout time.Duration, uid string) ([]string, error)

func DurationToMillisecond added in v1.1.55

func DurationToMillisecond(d time.Duration) int

func EncryptString added in v1.1.15

func EncryptString(key []byte, txt string) (string, error)

func EqualWildcards

func EqualWildcards(s, mask string) (bool, error)

func Error

func Error(err error) bool

func Eval

func Eval[T any](b bool, trueFunc T, falseFunc T) T

func ExecuteCmd added in v1.8.7

func ExecuteCmd(cmd *exec.Cmd) ([]byte, error)

func Exit

func Exit(code int)

func ExitOrError added in v1.1.15

func ExitOrError(err error) error

func ExtractNumber added in v1.1.15

func ExtractNumber(txt string) (float64, error)

func FileBackup

func FileBackup(filename string) error

FileBackup creates backup of files

func FileCompare added in v1.8.59

func FileCompare(filename0 string, filename1 string) error

FileCompare does ... guess what :-)

func FileCopy

func FileCopy(src string, dst string) error

FileCopy does ... guess what :-)

func FileDate added in v1.1.15

func FileDate(filename string) (time.Time, error)

FileDate does ... guess what :-)

func FileDelete added in v1.1.0

func FileDelete(filename string) error

FileDelete does ... guess what :-)

func FileExists

func FileExists(filename string) bool

FileExists does ... guess what :-)

func FileMode added in v1.1.15

func FileMode(read, write, execute bool) os.FileMode

func FileName

func FileName(filename string) string

Returns the complete filename "test.txt"

func FileNameExt

func FileNameExt(filename string) string

Returns the filename extension without part "test.txt" -> ".txt"

func FileNamePart

func FileNamePart(filename string) string

Returns the filename part without extension "test.txt" -> "test"

func FileSize

func FileSize(filename string) (int64, error)

FileSize does ... guess what :-)

func FileStore

func FileStore(filename string, r io.Reader) error

FileStore creates backup of files

func FillString added in v1.1.15

func FillString(txt string, length int, asPrefix bool, add string) string

func FindFreePort added in v1.1.15

func FindFreePort(network string, startPort int, excludedPorts []int) (int, error)

func FlagNameAsEnvName added in v1.8.79

func FlagNameAsEnvName(flagName string) string

func FlagValue added in v1.7.10

func FlagValue(flagname string) string

func FormatIP added in v1.4.15

func FormatIP(ip net.IP) string

func FormatMemory added in v1.1.15

func FormatMemory(bytes uint64) string

func GetCookie added in v1.3.7

func GetCookie(context echo.Context) (*sessions.Session, error)

func GetDefaultLanguage added in v1.8.3

func GetDefaultLanguage() string

func GetLanguages added in v1.1.15

func GetLanguages() ([]string, error)

GetLanguages lists all available languages

func GetLogs added in v1.2.45

func GetLogs() []string

func GetStructValue added in v1.8.5

func GetStructValue(obj any, field string) (reflect.Value, error)

func GetSystemLanguage added in v1.1.15

func GetSystemLanguage() (string, error)

GetSystemLanguage return BCP 47 standard language name

func GoRoutineId added in v1.2.7

func GoRoutineId() uint64

func GoRoutineIds added in v1.8.83

func GoRoutineIds() []uint64

func HTTPRequest added in v1.8.6

func HTTPRequest(httpTransport *http.Transport, timeout time.Duration, method string, address string, headers http.Header, formdata url.Values, username string, password string, body io.Reader, expectedCode int) (*http.Response, []byte, error)

func HTTPResponse added in v1.9.34

func HTTPResponse(w http.ResponseWriter, r *http.Request, status int, mimeType string, bodyLen int, body io.Reader) error

func HTTPServerStart added in v1.8.33

func HTTPServerStart(port int, tlsConfig *tls.Config, mux *http.ServeMux) error

func HTTPServerStop added in v1.8.33

func HTTPServerStop() error

func Hack4BrowserUpdate added in v1.1.15

func Hack4BrowserUpdate() string

func HashAlgorithm added in v1.8.69

func HashAlgorithm(s string) (crypto.Hash, error)

func HashBytes added in v1.8.5

func HashBytes(crypto crypto.Hash, r io.Reader) ([]byte, error)

func HashValue added in v1.8.69

func HashValue(algorithm crypto.Hash, s string) (string, error)
func Header(r *http.Request, name string) (string, error)

func HidePasswordValue added in v1.8.69

func HidePasswordValue(name string, value string) string

func IgnoreError added in v1.6.27

func IgnoreError(err error) bool

func IndexNth added in v1.6.46

func IndexNth(str string, substr string, count int) int

func IndexOf

func IndexOf(slice interface{}, search interface{}) int

func Info

func Info(format string, args ...any)

func Init added in v1.1.15

func Init(title string, version string, git string, build string, description string, developer string, homepage string, license string, resources *embed.FS, startFunc func() error, stopFunc func() error, runFunc func() error, runTime time.Duration)

func IsCertificateSelfSigned added in v1.1.19

func IsCertificateSelfSigned(cert *x509.Certificate) bool

func IsCmdlineOnlyFlag added in v1.2.34

func IsCmdlineOnlyFlag(flagName string) bool

func IsCookieAuthenticated added in v1.1.15

func IsCookieAuthenticated(context echo.Context, password string) bool

func IsDirectory

func IsDirectory(path string) bool

IsDirectory checks if the path leads to a directory

func IsEqualType added in v1.9.11

func IsEqualType(a any, b any) bool

func IsErrExit added in v1.1.84

func IsErrExit(err error) bool

func IsErrNetClosed added in v1.5.10

func IsErrNetClosed(err error) bool

func IsErrNetOperation added in v1.5.10

func IsErrNetOperation(err error) bool

func IsErrTimeout added in v1.2.53

func IsErrTimeout(err error) bool

func IsErrUnexpectedEOF added in v1.1.20

func IsErrUnexpectedEOF(err error) bool

func IsFile

func IsFile(path string) bool

IsDirectory checks if the path leads to a directory

func IsFileReadOnly

func IsFileReadOnly(path string) bool

IsFileReadOnly checks if a file is read only

func IsFlagAsEnvProvided added in v1.9.43

func IsFlagAsEnvProvided(flagname string) bool

func IsFlagProvided added in v1.6.44

func IsFlagProvided(flagname string) bool

func IsHashedValue added in v1.8.69

func IsHashedValue(s string) bool

func IsIPv4 added in v1.6.6

func IsIPv4(ip net.IP) bool

func IsImageMimeType added in v1.1.0

func IsImageMimeType(mimeType string) bool

func IsLinkConnected added in v1.5.3

func IsLinkConnected(nic string) (bool, error)

func IsLinkUp added in v1.5.3

func IsLinkUp(nic string) (bool, error)

func IsLinux added in v1.6.6

func IsLinux() bool

IsLinuxOS reports true if underlying OS is Linux

func IsLocalhost added in v1.1.20

func IsLocalhost(ip net.IP) bool

func IsLogFileEnabled added in v1.7.6

func IsLogFileEnabled() bool

func IsLogInit added in v1.7.6

func IsLogInit() bool

func IsLogJsonEnabled added in v1.7.6

func IsLogJsonEnabled() bool

func IsLogVerboseEnabled added in v1.7.6

func IsLogVerboseEnabled() bool

func IsMac added in v1.6.6

func IsMac() bool

IsMacOS reports true if underlying OS is MacOS

func IsPortAvailable added in v1.1.15

func IsPortAvailable(network string, port int) error

func IsPrivateIP added in v1.1.69

func IsPrivateIP(ip net.IP) bool

func IsRunningAsExecutable added in v1.1.15

func IsRunningAsExecutable() bool

func IsRunningAsService added in v1.1.15

func IsRunningAsService() bool

func IsRunningInDocker added in v1.8.82

func IsRunningInDocker() bool

func IsRunningInTest added in v1.8.24

func IsRunningInTest() bool

func IsRunningInteractive added in v1.1.15

func IsRunningInteractive() bool

func IsStringEnrypted added in v1.1.15

func IsStringEnrypted(password string) bool

func IsSuppressedError added in v1.1.21

func IsSuppressedError(err error) bool

func IsSuppressedErrorMessage added in v1.1.21

func IsSuppressedErrorMessage(err string) bool
func IsSymbolicLink(path string) bool

IsSymbolicLink checks if the path leads to symbolic link

func IsTTYDevice added in v1.1.106

func IsTTYDevice(device string) bool

func IsTextMimeType added in v1.8.57

func IsTextMimeType(mimeType string) bool

func IsValidFilename added in v1.8.22

func IsValidFilename(filename string) bool

func IsWindows added in v1.6.6

func IsWindows() bool

IsWindowsOS reports true if underlying OS is MS Windows

func IterateStruct added in v1.1.15

func IterateStruct(data interface{}, fieldFunc func(path string, fieldType reflect.StructField, fieldValue reflect.Value) error) error

func Join added in v1.1.21

func Join(strs []string, sep string) string

func LevelToIndex added in v1.8.36

func LevelToIndex(level string) int

func ListFiles added in v1.5.54

func ListFiles(filemask string, recursive bool) ([]string, error)

func LoadConfigurationFile added in v1.3.11

func LoadConfigurationFile[T any]() (*T, error)

func MandatoryFlags added in v1.9.37

func MandatoryFlags(excludes ...string) []string

func Max added in v1.1.15

func Max[T constraints.Ordered](values ...T) T

func MillisecondToDuration added in v1.1.15

func MillisecondToDuration(msec int) time.Duration

func Min added in v1.1.15

func Min[T constraints.Ordered](values ...T) T

func MultiWriter added in v1.6.46

func MultiWriter(writers ...io.Writer) io.Writer

func NewButton added in v1.1.15

func NewButton(parent *etree.Element, primary bool, actionItem ActionItem) *etree.Element

func NewEchoLogger added in v1.1.19

func NewEchoLogger() echoLogger

func NewEndpoint added in v1.1.106

func NewEndpoint(device string, isClient bool, tlsConfig *tls.Config) (Endpoint, EndpointConnector, error)

func NewForm added in v1.1.15

func NewForm(parent *etree.Element, caption string, data interface{}, defaultData interface{}, method string, formAction string, actions []ActionItem, readOnly bool, isExpertViewAvailable bool, funcFieldIterator FuncFieldIterator) (*etree.Element, *etree.Element, error)

func NewMenu added in v1.1.15

func NewMenu(page *Webpage, menuItems []ActionItem, selectedTitle string, disableMenues bool)

func NewSeparatorSplitFunc added in v1.5.27

func NewSeparatorSplitFunc(prefix []byte, suffix []byte, remove bool) (bufio.SplitFunc, error)

func NewSizedReader added in v1.2.43

func NewSizedReader(reader io.Reader, size int64) io.Reader

func NewTable added in v1.1.15

func NewTable(parent *etree.Element, cells [][]string) *etree.Element

func NewThrottledReader added in v1.1.15

func NewThrottledReader(reader io.Reader, bytesPerSeconds int) io.Reader

func NewThrottledWriter added in v1.1.15

func NewThrottledWriter(writer io.Writer, bytesPerSeconds int) io.Writer

func NewTlsConfig added in v1.1.84

func NewTlsConfig(
	certificateVerify bool,
	serverName string,
	minVersion string,
	maxVersion string,
	ciphers string,
	password string,
	certificate string,
	mutual string,
	keylen int) (*tls.Config, error)

func NewTlsConfigFromFlags added in v1.1.84

func NewTlsConfigFromFlags() (*tls.Config, error)

func NewWatchdog added in v1.8.30

func NewWatchdog(msg string, fn func() error, timeout time.Duration) error

func NewWatchdogCmd added in v1.3.4

func NewWatchdogCmd(cmd *exec.Cmd, timeout time.Duration) ([]byte, error)

func NewWatchdogRetry added in v1.8.30

func NewWatchdogRetry(checkDuration time.Duration, maxDuration time.Duration, fn func() error) error

func NoDebug added in v1.8.21

func NoDebug(fn func())

func Panic added in v1.1.89

func Panic(err error)

func ParseDateTime

func ParseDateTime(mask string, v string) (time.Time, error)

ParseDateTime parses only date, but no time

func ParseJsonDateTime added in v1.1.21

func ParseJsonDateTime(v string) (time.Time, error)

ParseJsonDateTime parses only date, but no time

func ParseMemory added in v1.1.15

func ParseMemory(txt string) (int64, error)

func ParseTTYOptions added in v1.4.15

func ParseTTYOptions(device string) (string, *serial.Mode, error)

func PrettyPrintJSON added in v1.9.14

func PrettyPrintJSON(ba []byte) ([]byte, error)

func PrintBytes added in v1.5.57

func PrintBytes(ba []byte, breakOnLineEndings bool) string

func PrivateKeyAsPEM added in v1.1.84

func PrivateKeyAsPEM(privateKey *ecdsa.PrivateKey) ([]byte, error)

func PullFlash added in v1.1.15

func PullFlash(context echo.Context, flashName string) []string

func PushFlash added in v1.1.15

func PushFlash(context echo.Context, flashName string, flash string) error

func ReadBody added in v1.8.12

func ReadBody(r io.ReadCloser) ([]byte, error)

func ReadBodyJSON added in v1.8.12

func ReadBodyJSON[T any](r io.ReadCloser) ([]T, bool, error)

func ReadFileHeader added in v1.8.58

func ReadFileHeader(path string) ([]byte, error)

func ReadFully added in v1.5.64

func ReadFully(r io.Reader, p []byte) (int, error)

func ReadResource added in v1.1.96

func ReadResource(filename string) ([]byte, string, error)

func ReadWithTimeout added in v1.5.47

func ReadWithTimeout(reader io.Reader, timeout time.Duration, ba []byte) (int, error)

func RegisterConcurrentLimit added in v1.9.36

func RegisterConcurrentLimit() bool

func RegisterGoRoutine added in v1.1.108

func RegisterGoRoutine(index int) int

func RegisteredGoRoutines added in v1.1.108

func RegisteredGoRoutines(f func(id int, ri RuntimeInfo))

func RemoveJsonComments added in v1.1.15

func RemoveJsonComments(ba []byte) ([]byte, error)

func ResetConfiguration added in v1.1.15

func ResetConfiguration() error

func ResourcesDirectory added in v1.1.96

func ResourcesDirectory() string

func ReverseSlice added in v1.5.41

func ReverseSlice[T any](original []T) []T

func Rnd

func Rnd(max int) int

func RndBytes added in v1.4.23

func RndBytes(n int) []byte

func RndString added in v1.4.23

func RndString(l int) string

func Run

func Run(mandatoryFlags []string)

func RunScript added in v1.8.7

func RunScript(timeout time.Duration, filename string) ([]byte, error)

func Rune added in v1.1.15

func Rune(s string, index int) (rune, error)

func SaveConfigurationFile added in v1.3.11

func SaveConfigurationFile(cfg any) error

func ScanLinesWithLF added in v1.1.0

func ScanLinesWithLF(data []byte, atEOF bool) (advance int, token []byte, err error)

func SessionId added in v1.2.19

func SessionId(context echo.Context) string

func SetCookie added in v1.5.4

func SetCookie(context echo.Context, cookie *sessions.Session, timeout time.Duration) error

func SetFileReadOnly

func SetFileReadOnly(path string, readonly bool) (err error)

SetFileReadOnly sets file READ-ONLY yes or false

func SetLanguage added in v1.1.15

func SetLanguage(lang string) error

SetLanguage sets the language file to translation

func SetReadTimeout added in v1.5.47

func SetReadTimeout(reader io.Reader, timeout time.Duration) error

func SetStructValue added in v1.8.5

func SetStructValue(obj any, field string, value any) error

func SetTime

func SetTime(t time.Time, f string, v int) time.Time

func SetWriteTimeout added in v1.5.47

func SetWriteTimeout(writer io.Writer, timeout time.Duration) error

func Sleep added in v1.5.15

func Sleep(d time.Duration)

func SleepWithChannel added in v1.8.68

func SleepWithChannel(d time.Duration, ch chan struct{})

func SliceAppend added in v1.6.14

func SliceAppend[S ~[]E, E any](s S, e ...E) S

func SliceClone added in v1.6.15

func SliceClone[S ~[]E, E any](s S) S

func SliceContains added in v1.6.15

func SliceContains[S ~[]E, E comparable](s S, e E) bool

func SliceDelete added in v1.6.14

func SliceDelete[S ~[]E, E any](s S, index int) S

func SliceDeleteRange added in v1.6.15

func SliceDeleteRange[S ~[]E, E any](s S, index0 int, index1 int) S

func SliceIndex added in v1.6.14

func SliceIndex[S ~[]E, E comparable](s S, e E) int

func SliceIndexFunc added in v1.6.15

func SliceIndexFunc[S ~[]E, E any](s S, fn func(E) bool) int

func SliceInsert added in v1.6.14

func SliceInsert[S ~[]E, E any](s S, index int, e ...E) S

func SliceRemove added in v1.6.14

func SliceRemove[S ~[]E, E comparable](s S, e E) S

func SortStringsCaseInsensitive added in v1.1.15

func SortStringsCaseInsensitive(strs []string)

func Split added in v1.5.53

func Split(s string, sep string) []string

func SplitCmdline added in v1.6.43

func SplitCmdline(cmdline string) []string

func SplitHost added in v1.2.31

func SplitHost(addr string) (string, error)

func StartInfo added in v1.8.39

func StartInfo(msg string)

func StopInfo added in v1.8.39

func StopInfo(msg string)

func SurroundWith

func SurroundWith(str []string, prefixSuffix string) []string

func SystemFlagBool added in v1.9.1

func SystemFlagBool(name string, value bool, usage string) *bool

func SystemFlagInt added in v1.9.1

func SystemFlagInt(name string, value int, usage string) *int

func SystemFlagInt64 added in v1.9.1

func SystemFlagInt64(name string, value int64, usage string) *int64

func SystemFlagString added in v1.9.1

func SystemFlagString(name string, value string, usage string) *string

func TelemetryHandler added in v1.9.6

func TelemetryHandler(next http.HandlerFunc) http.HandlerFunc

func TempDir

func TempDir() string

TempDir returns the private temporary directory of the app

func Title added in v1.1.12

func Title() string

func TitleVersion added in v1.1.15

func TitleVersion(major bool, minor bool, patch bool) string

func TlsCertificateInfos added in v1.1.84

func TlsCertificateInfos(tlsConfig *tls.Config) (string, error)

func TlsCipherDescription added in v1.1.84

func TlsCipherDescription(cs *tls.CipherSuite) string

func TlsCipherNames added in v1.1.84

func TlsCipherNames(ciphers []*tls.CipherSuite) []string

func TlsCipherSelectionsToIds added in v1.1.84

func TlsCipherSelectionsToIds(s string) []uint16

func TlsCiphersIds added in v1.1.84

func TlsCiphersIds(ciphers []*tls.CipherSuite) []uint16

func TlsConfigFromP12 added in v1.7.12

func TlsConfigFromP12(ba []byte, password string) (*tls.Config, error)

func TlsConfigFromPEM added in v1.1.84

func TlsConfigFromPEM(certPEM []byte, keyPEM []byte, password string) (*tls.Config, error)

func TlsConfigToP12 added in v1.1.84

func TlsConfigToP12(tlsConfig *tls.Config, password string) ([]byte, error)

func TlsDebugConnection added in v1.1.84

func TlsDebugConnection(typ string, tlsConn *tls.Conn)

func TlsDefaultCiphers added in v1.1.84

func TlsDefaultCiphers() []*tls.CipherSuite

func TlsDescriptionToCipher added in v1.1.84

func TlsDescriptionToCipher(name string) *tls.CipherSuite

func TlsIdToCipher added in v1.1.84

func TlsIdToCipher(id uint16) *tls.CipherSuite

func TlsIdToVersion added in v1.1.21

func TlsIdToVersion(id uint16) string

func TlsToX509Certificate added in v1.1.84

func TlsToX509Certificate(certificate []byte) (*x509.Certificate, error)

func TlsVersionToId added in v1.1.21

func TlsVersionToId(s string) uint16

func TlsVersions added in v1.1.21

func TlsVersions() []string

func ToAnySlice added in v1.9.28

func ToAnySlice[T any](values ...T) []any

func ToBool

func ToBool(s string) bool

ToBool reports if value indicates "true"

func ToSlice added in v1.5.23

func ToSlice[T any](values ...T) []T

func ToStrings

func ToStrings(slice interface{}) ([]string, error)

func ToTime

func ToTime(v asDateTime) time.Time

func ToUTF8

func ToUTF8(ba []byte, inputEncoding string) ([]byte, error)

func TraceError added in v1.5.36

func TraceError(err error) error

func Translate

func Translate(msg string, args ...interface{}) string

Translate a message to the current set language

func TranslateFor added in v1.1.15

func TranslateFor(language, msg string) string

func Trim4Path

func Trim4Path(path string) string

Trim4Path trims given path to be usefull as filename

func TruncateTime

func TruncateTime(t time.Time, f string) time.Time

func URLGet added in v1.1.15

func URLGet(url string) ([]byte, error)

func UnregisterConcurrentLimit added in v1.9.36

func UnregisterConcurrentLimit(fromChannel bool)

func UnregisterGoRoutine added in v1.1.108

func UnregisterGoRoutine(id int)

func Unzip

func Unzip(dest, src string) error

func ValidateJson added in v1.6.21

func ValidateJson(p any, ba []byte, ignoreUnknownFields bool) error

func VerifyP12 added in v1.1.15

func VerifyP12(ba []byte, password string) (privateKey *ecdsa.PrivateKey, certificate *x509.Certificate, caCerts []*x509.Certificate, err error)

func Version added in v1.1.15

func Version(major bool, minor bool, patch bool) string

func WaitUntilNetworkIsAvailable added in v1.2.4

func WaitUntilNetworkIsAvailable(lookupIp net.IP) error

func WalkFiles added in v1.5.54

func WalkFiles(filemask string, recursive bool, ignoreError bool, walkFunc func(path string, fi os.FileInfo) error) error

func Warn

func Warn(format string, args ...any)

func WarnError added in v1.1.0

func WarnError(err error) bool

func WriteFully added in v1.5.64

func WriteFully(w io.Writer, p []byte) (int, error)

func WriteJsonFile added in v1.1.15

func WriteJsonFile(filename string, v interface{}, fileMode os.FileMode) error

func WriteWithTimeout added in v1.5.49

func WriteWithTimeout(writer io.Writer, timeout time.Duration, ba []byte) (int, error)

func X509toTlsCertificate added in v1.1.84

func X509toTlsCertificate(certificate *x509.Certificate, privateKey *ecdsa.PrivateKey) (*tls.Certificate, error)

func Zip

func Zip(filename string, targets []ZipTarget) error

Types

type ActionItem added in v1.1.15

type ActionItem struct {
	Caption  string
	Icon     string
	Action   string
	Download string
	Message  string
	Enabled  bool
	SubItems []ActionItem
}

type AlignedTicker added in v1.8.71

type AlignedTicker struct {
	IsFirstTicker bool
	SleepTime     time.Duration
}

func NewAlignedTicker added in v1.8.71

func NewAlignedTicker(sleepTime time.Duration) *AlignedTicker

func (*AlignedTicker) SleepUntilNextTicker added in v1.8.71

func (at *AlignedTicker) SleepUntilNextTicker() time.Duration

type AutoCloser added in v1.8.67

type AutoCloser struct {
	Reader   io.Reader
	IsClosed atomic.Bool
	// contains filtered or unexported fields
}

func NewAutoCloser added in v1.8.67

func NewAutoCloser(reader io.Reader) *AutoCloser

func (*AutoCloser) Close added in v1.9.33

func (ac *AutoCloser) Close() error

func (*AutoCloser) Read added in v1.8.67

func (ac *AutoCloser) Read(p []byte) (int, error)

type BackgroundTask added in v1.8.52

type BackgroundTask struct {
	// contains filtered or unexported fields
}

func NewBackgroundTask added in v1.8.52

func NewBackgroundTask(fn func(task *BackgroundTask)) *BackgroundTask

func (*BackgroundTask) Channel added in v1.8.52

func (bt *BackgroundTask) Channel() chan struct{}

func (*BackgroundTask) IsAlive added in v1.8.52

func (bt *BackgroundTask) IsAlive() bool

func (*BackgroundTask) Start added in v1.8.52

func (bt *BackgroundTask) Start()

func (*BackgroundTask) Stop added in v1.8.52

func (bt *BackgroundTask) Stop(waitFor bool)

type BasicAuthFunc added in v1.8.5

type BasicAuthFunc func(username string, password string) error

type Configuration added in v1.1.15

type Configuration struct {
	ApplicationTitle   string    `json:"applicationTitle"`
	ApplicationVersion string    `json:"applicationVersion"`
	Flags              KeyValues `json:"flags"`
}

func NewConfiguration added in v1.1.15

func NewConfiguration() *Configuration

func (*Configuration) GetFlag added in v1.1.15

func (this *Configuration) GetFlag(flagName string) (string, error)

func (*Configuration) SetFlag added in v1.1.15

func (this *Configuration) SetFlag(flagName string, flagValue string) error

type DiscoverServer added in v1.1.15

type DiscoverServer struct {
	// contains filtered or unexported fields
}

func NewDiscoverServer added in v1.1.15

func NewDiscoverServer(address string, timeout time.Duration, uid string, info string) (*DiscoverServer, error)

func (*DiscoverServer) Start added in v1.1.15

func (server *DiscoverServer) Start() error

func (*DiscoverServer) Stop added in v1.1.15

func (server *DiscoverServer) Stop() error

type DurationJSON added in v1.8.49

type DurationJSON struct {
	time.Duration
}

func (DurationJSON) MarshalJSON added in v1.8.49

func (d DurationJSON) MarshalJSON() (b []byte, err error)

func (*DurationJSON) UnmarshalJSON added in v1.8.49

func (d *DurationJSON) UnmarshalJSON(b []byte) (err error)

type Element added in v1.4.43

type Element struct {
	Name      string
	Text      string
	PlainText bool
	Attrs     *orderedmap.OrderedMap[string, string]
	Elements  []*Element
}

func NewElement added in v1.4.43

func NewElement(name string) *Element

func (*Element) AddAttr added in v1.4.43

func (e *Element) AddAttr(name string, value string) *Element

func (*Element) AddElement added in v1.4.43

func (e *Element) AddElement(element *Element) *Element

func (*Element) AddElementName added in v1.6.16

func (e *Element) AddElementName(name string) *Element

func (*Element) IsTextOnly added in v1.4.43

func (e *Element) IsTextOnly() bool

func (*Element) RemoveAttr added in v1.4.43

func (e *Element) RemoveAttr(name string) *Element

func (*Element) RemoveElement added in v1.4.43

func (e *Element) RemoveElement(element *Element) *Element

func (*Element) String added in v1.4.43

func (e *Element) String() string

type Endpoint added in v1.1.106

type Endpoint interface {
	Start() error
	Stop() error
}

type EndpointConnection added in v1.5.16

type EndpointConnection interface {
	io.ReadWriteCloser

	SetDeadline(t time.Time) error
	SetReadDeadline(t time.Time) error
	SetWriteDeadline(t time.Time) error
}

type EndpointConnector added in v1.1.106

type EndpointConnector func() (EndpointConnection, error)

type ErrExit added in v1.1.15

type ErrExit struct {
}

func (*ErrExit) Error added in v1.1.15

func (e *ErrExit) Error() string

type ErrFileAlreadyExists added in v1.1.107

type ErrFileAlreadyExists struct {
	FileName string
}

func (*ErrFileAlreadyExists) Error added in v1.1.107

func (e *ErrFileAlreadyExists) Error() string

type ErrFileIsEmpty added in v1.2.4

type ErrFileIsEmpty struct {
	FileName string
}

func (*ErrFileIsEmpty) Error added in v1.2.4

func (e *ErrFileIsEmpty) Error() string

type ErrFileNotFound

type ErrFileNotFound struct {
	FileName string
}

func (*ErrFileNotFound) Error

func (e *ErrFileNotFound) Error() string

type ErrSetTimeout added in v1.5.49

type ErrSetTimeout struct {
	Mode string
}

func (*ErrSetTimeout) Error added in v1.5.49

func (e *ErrSetTimeout) Error() string

type ErrTimeout added in v1.2.5

type ErrTimeout struct {
	Duration time.Duration
	Err      error
}

func (*ErrTimeout) Error added in v1.2.5

func (e *ErrTimeout) Error() string

func (*ErrTimeout) Timeout added in v1.2.18

func (e *ErrTimeout) Timeout() bool

type ErrUnknownFlag added in v1.7.6

type ErrUnknownFlag struct {
	Origin string
	Name   string
}

func (*ErrUnknownFlag) Error added in v1.7.6

func (e *ErrUnknownFlag) Error() string

type Event added in v1.1.15

type Event interface{}

type EventConfigurationReset added in v1.1.15

type EventConfigurationReset struct {
}

type EventFlagsExternal added in v1.9.2

type EventFlagsExternal struct {
	Flags map[string]string
}

type EventFlagsParsed added in v1.1.21

type EventFlagsParsed struct {
}

type EventFlagsSet added in v1.1.22

type EventFlagsSet struct {
}

type EventFunc added in v1.1.15

type EventFunc func(Event)

type EventInit added in v1.6.33

type EventInit struct {
}

type EventLog added in v1.8.18

type EventLog struct {
	Entry *LogEntry
}

type EventManager added in v1.1.15

type EventManager struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func NewEventManager added in v1.1.15

func NewEventManager() *EventManager

func (*EventManager) AddListener added in v1.5.52

func (eventManager *EventManager) AddListener(event interface{}, eventFunc EventFunc) *EventFunc

func (*EventManager) Emit added in v1.1.15

func (eventManager *EventManager) Emit(event interface{}, reverse bool)

func (*EventManager) RemoveListener added in v1.5.52

func (eventManager *EventManager) RemoveListener(eventFunc *EventFunc)

type EventShutdown added in v1.5.41

type EventShutdown struct {
}

type EventTelemetry added in v1.9.4

type EventTelemetry struct {
	IsTelemetryRequest bool
	Ctx                context.Context
	Title              string
	Start              time.Time
	End                time.Time
	Err                string
	Code               int
}

func (EventTelemetry) IsSuccess added in v1.9.6

func (et EventTelemetry) IsSuccess() bool

type FileEntry added in v1.5.56

type FileEntry struct {
	// contains filtered or unexported fields
}

func NewFileEntry added in v1.5.56

func NewFileEntry(path string, fileInfo os.FileInfo) (*FileEntry, error)

type FilePermission added in v1.1.15

type FilePermission struct {
	Read    bool
	Write   bool
	Execute bool
}

type FuncFieldIterator added in v1.1.15

type FuncFieldIterator func(string, reflect.StructField, reflect.Value, *structtag.Tag) (bool, []string)

type GoRoutinesRegister added in v1.8.21

type GoRoutinesRegister struct {
	// contains filtered or unexported fields
}

func NewGoRoutinesRegister added in v1.8.21

func NewGoRoutinesRegister() *GoRoutinesRegister

func (*GoRoutinesRegister) Deregister added in v1.8.21

func (tr *GoRoutinesRegister) Deregister()

func (*GoRoutinesRegister) IsRegistered added in v1.8.21

func (tr *GoRoutinesRegister) IsRegistered() bool

func (*GoRoutinesRegister) Register added in v1.8.21

func (tr *GoRoutinesRegister) Register()

type GzipResponseWriter added in v1.9.24

type GzipResponseWriter struct {
	io.Writer
	http.ResponseWriter
}

func (*GzipResponseWriter) Write added in v1.9.24

func (g *GzipResponseWriter) Write(data []byte) (int, error)

type HTTPError added in v1.8.5

type HTTPError struct {
	StatusCode int
	Message    string
}

func (*HTTPError) Error added in v1.8.5

func (e *HTTPError) Error() string

func (*HTTPError) Return added in v1.9.11

func (e *HTTPError) Return(w http.ResponseWriter)

type HostInfo added in v1.2.51

type HostInfo struct {
	Intf  net.Interface
	IPNet *net.IPNet
}

func GetHostInfos added in v1.2.51

func GetHostInfos() (string, net.IP, []HostInfo, error)

type Jason

type Jason struct {
	// contains filtered or unexported fields
}

func NewJason

func NewJason(s string) (*Jason, error)

func (*Jason) Array

func (jason *Jason) Array(key string, index int) (*Jason, error)

func (*Jason) ArrayCount

func (jason *Jason) ArrayCount(key string) int

func (*Jason) Bool

func (jason *Jason) Bool(key string, def ...bool) (result bool, err error)

func (*Jason) Count

func (jason *Jason) Count() int

func (*Jason) Element

func (jason *Jason) Element(key string) (*Jason, error)

func (*Jason) ElementByPath added in v1.8.21

func (jason *Jason) ElementByPath(path string) (*Jason, error)

func (*Jason) Elements

func (jason *Jason) Elements() []string

func (*Jason) Exists

func (jason *Jason) Exists(key string) bool

func (*Jason) Int

func (jason *Jason) Int(key string, def ...int) (result int, err error)

func (*Jason) IsArray

func (jason *Jason) IsArray(key string) bool

func (*Jason) IsBool

func (jason *Jason) IsBool(key string) bool

func (*Jason) IsInt

func (jason *Jason) IsInt(key string) bool

func (*Jason) IsString

func (jason *Jason) IsString(key string) bool

func (*Jason) Pretty

func (jason *Jason) Pretty() (string, error)

func (*Jason) String

func (jason *Jason) String(key string, def ...string) (string, error)

type KeyValue added in v1.2.16

type KeyValue string

func (KeyValue) Key added in v1.2.16

func (kv KeyValue) Key() string

func (KeyValue) Value added in v1.2.16

func (kv KeyValue) Value() string

type KeyValues added in v1.2.16

type KeyValues []KeyValue

func NewKeyValues added in v1.2.17

func NewKeyValues(list []string) *KeyValues

func (*KeyValues) Add added in v1.2.16

func (kvs *KeyValues) Add(key string, value string)

func (*KeyValues) Clear added in v1.2.16

func (kvs *KeyValues) Clear()

func (*KeyValues) Contains added in v1.2.16

func (kvs *KeyValues) Contains(key string) bool

func (*KeyValues) Get added in v1.2.16

func (kvs *KeyValues) Get(key string) (string, error)

func (*KeyValues) Index added in v1.2.17

func (kvs *KeyValues) Index(key string) int

func (*KeyValues) Keys added in v1.2.16

func (kvs *KeyValues) Keys() []string

func (*KeyValues) Put added in v1.2.16

func (kvs *KeyValues) Put(key string, value string) error

func (*KeyValues) Remove added in v1.2.16

func (kvs *KeyValues) Remove(key string) (string, error)

func (*KeyValues) Sort added in v1.2.16

func (kvs *KeyValues) Sort()

func (*KeyValues) Values added in v1.2.16

func (kvs *KeyValues) Values() []string

type LogEntry added in v1.8.18

type LogEntry struct {
	Time        time.Time `json:"-"`
	Timestamp   string    `json:"timestamp"`
	GoRoutineId uint64    `json:"goRoutineId"`
	Level       string    `json:"level"`
	Source      string    `json:"source"`
	Msg         string    `json:"message"`
	PrintMsg    string    `json:"printMessage"`
}

func NewLogEntry added in v1.8.87

func NewLogEntry(level string, source string, msg string) *LogEntry

type MimetypeExtension added in v1.1.15

type MimetypeExtension struct {
	MimeType, Ext string
}

func DetectMimeType

func DetectMimeType(filename string, buf []byte) (MimetypeExtension, error)

type ModuleInfo added in v1.1.15

type ModuleInfo struct {
	Disclosure string          `json:"disclosure"`
	Software   string          `json:"software"`
	Version    string          `json:"version"`
	Requires   []ModuleRequire `json:"requires"`
}

func CreateModuleInfo added in v1.1.15

func CreateModuleInfo() (*ModuleInfo, error)

type ModuleRequire added in v1.5.65

type ModuleRequire struct {
	Name        string `json:"name"`
	Version     string `json:"version"`
	Comment     string `json:"comment"`
	LicenseName string `json:"licenseName"`
	LicenseUrl  string `json:"licenseUrl"`
	LicenseText string `json:"licenseText"`
}

type MultiValueFlag added in v1.1.19

type MultiValueFlag []string

func (*MultiValueFlag) Set added in v1.1.19

func (multiValueFLag *MultiValueFlag) Set(s string) error

func (*MultiValueFlag) String added in v1.1.19

func (multiValueFLag *MultiValueFlag) String() string

type NetworkClient added in v1.1.84

type NetworkClient struct {
	// contains filtered or unexported fields
}

func NewNetworkClient added in v1.1.84

func NewNetworkClient(address string, tlsConfig *tls.Config) (*NetworkClient, error)

func (*NetworkClient) Connect added in v1.1.84

func (networkClient *NetworkClient) Connect() (*NetworkConnection, error)

func (*NetworkClient) Start added in v1.1.84

func (networkClient *NetworkClient) Start() error

func (*NetworkClient) Stop added in v1.1.84

func (networkClient *NetworkClient) Stop() error

type NetworkConnection added in v1.1.84

type NetworkConnection struct {
	EndpointConnection

	Socket net.Conn
	// contains filtered or unexported fields
}

func (*NetworkConnection) Close added in v1.1.84

func (networkConnection *NetworkConnection) Close() error

func (*NetworkConnection) Read added in v1.1.84

func (networkConnection *NetworkConnection) Read(p []byte) (n int, err error)

func (*NetworkConnection) SetDeadline added in v1.5.16

func (networkConnection *NetworkConnection) SetDeadline(t time.Time) error

func (*NetworkConnection) SetReadDeadline added in v1.5.16

func (networkConnection *NetworkConnection) SetReadDeadline(t time.Time) error

func (*NetworkConnection) SetWriteDeadline added in v1.5.16

func (networkConnection *NetworkConnection) SetWriteDeadline(t time.Time) error

func (*NetworkConnection) Write added in v1.1.84

func (networkConnection *NetworkConnection) Write(p []byte) (n int, err error)

type NetworkServer added in v1.1.84

type NetworkServer struct {
	Endpoint
	// contains filtered or unexported fields
}

func NewNetworkServer added in v1.1.84

func NewNetworkServer(address string, tlsConfig *tls.Config) (*NetworkServer, error)

func (*NetworkServer) Connect added in v1.1.84

func (networkServer *NetworkServer) Connect() (*NetworkConnection, error)

func (*NetworkServer) Serve added in v1.1.84

func (this *NetworkServer) Serve() ([]byte, error)

func (*NetworkServer) Start added in v1.1.84

func (networkServer *NetworkServer) Start() error

func (*NetworkServer) Stop added in v1.1.84

func (networkServer *NetworkServer) Stop() error

type Notice added in v1.1.15

type Notice struct {
	// contains filtered or unexported fields
}

func AppLifecycle added in v1.1.15

func AppLifecycle() *Notice

func NewNotice added in v1.1.15

func NewNotice() *Notice

func (*Notice) Channel added in v1.1.15

func (this *Notice) Channel() chan struct{}

func (*Notice) IsSet added in v1.1.15

func (this *Notice) IsSet() bool

func (*Notice) Set added in v1.1.15

func (this *Notice) Set() bool

func (*Notice) Unset added in v1.1.15

func (this *Notice) Unset() bool

type Quantum

type Quantum struct {
	// contains filtered or unexported fields
}

func NewQuantum

func NewQuantum() *Quantum

func ParseQuantum added in v1.1.27

func ParseQuantum(txt string) (*Quantum, error)

func (*Quantum) Add

func (q *Quantum) Add(v int)

func (*Quantum) AddQuantum added in v1.1.27

func (q *Quantum) AddQuantum(other *Quantum)

func (*Quantum) AddRange

func (q *Quantum) AddRange(from int, to int)

func (*Quantum) Get

func (q *Quantum) Get(index int) (int, error)

func (*Quantum) IsIncluded added in v1.1.15

func (q *Quantum) IsIncluded(v int) bool

func (*Quantum) Len

func (q *Quantum) Len() int

func (*Quantum) Remove

func (q *Quantum) Remove(v int)

func (*Quantum) RemoveAll added in v1.1.27

func (q *Quantum) RemoveAll()

func (*Quantum) RemoveQuantum added in v1.1.27

func (q *Quantum) RemoveQuantum(other *Quantum)

func (*Quantum) RemoveRange

func (q *Quantum) RemoveRange(from int, to int)

func (*Quantum) String

func (q *Quantum) String() string

func (*Quantum) ToSlice

func (q *Quantum) ToSlice() []int

type RandomReader added in v1.1.21

type RandomReader struct {
	// contains filtered or unexported fields
}

func NewRandomReader added in v1.1.21

func NewRandomReader() *RandomReader

func (RandomReader) Read added in v1.1.21

func (this RandomReader) Read(p []byte) (n int, err error)

type ReentrantMutex added in v1.6.0

type ReentrantMutex struct {
	sync.Locker
	// contains filtered or unexported fields
}

func NewReentrantMutex added in v1.8.21

func NewReentrantMutex() ReentrantMutex

func (*ReentrantMutex) Lock added in v1.6.0

func (rm *ReentrantMutex) Lock()

func (*ReentrantMutex) Unlock added in v1.6.0

func (rm *ReentrantMutex) Unlock()

func (*ReentrantMutex) UnlockNow added in v1.6.0

func (rm *ReentrantMutex) UnlockNow()

type RestURL added in v1.8.6

type RestURL struct {
	sync.Mutex
	Description string         `json:"description,omitempty"`
	Method      string         `json:"method,omitempty"`
	Endpoint    string         `json:"endpoint,omitempty"`
	Consumes    []string       `json:"consumes,omitempty"`
	Produces    []string       `json:"produces,omitempty"`
	Success     []int          `json:"success,omitempty"`
	Failure     []int          `json:"failure,omitempty"`
	Params      []RestURLField `json:"params,omitempty"`
	Stats       RestURLStats   `json:"stats,omitempty"`
	// contains filtered or unexported fields
}

func NewRestURL added in v1.8.6

func NewRestURL(method string, resource string) *RestURL

func (*RestURL) Format added in v1.8.6

func (restURL *RestURL) Format(args ...any) string

func (*RestURL) MuxString added in v1.8.37

func (restURL *RestURL) MuxString() string

func (*RestURL) ParamValue added in v1.9.21

func (restURL *RestURL) ParamValue(r *http.Request, name string) string

func (*RestURL) ParamValues added in v1.9.21

func (restURL *RestURL) ParamValues(r *http.Request, name string) []string

func (*RestURL) Statistics added in v1.8.60

func (restURL *RestURL) Statistics() RestURLStats

func (*RestURL) SwaggerInfo added in v1.8.20

func (restURL *RestURL) SwaggerInfo() string

func (*RestURL) URL added in v1.8.6

func (restURL *RestURL) URL(address string, args ...any) string

func (*RestURL) UpdateStats added in v1.8.49

func (restURL *RestURL) UpdateStats(start time.Time)

func (*RestURL) Validate added in v1.8.20

func (restURL *RestURL) Validate(r *http.Request) error

type RestURLField added in v1.8.20

type RestURLField struct {
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	Default     string `json:"default,omitempty"`
	Mandatory   bool   `json:"mandatory,omitempty"`
}

type RestURLStats added in v1.8.49

type RestURLStats struct {
	Count       int          `json:"count,omitempty"`
	SumDuration DurationJSON `json:"sumDuration,omitempty"`
	MinDuration DurationJSON `json:"minDuration,omitempty"`
	MaxDuration DurationJSON `json:"maxDuration,omitempty"`
}

type Runner added in v1.1.15

type Runner struct {
	Err    error
	Output string
	// contains filtered or unexported fields
}

func NewRunner added in v1.1.15

func NewRunner(cmd *exec.Cmd, timeout time.Duration) *Runner

type RuntimeInfo

type RuntimeInfo struct {
	Dir, Pack, File, Fn, Stack string
	Line                       int
	Timestamp                  time.Time
}

func GetRuntimeInfo added in v1.1.15

func GetRuntimeInfo(pos int) RuntimeInfo

func (RuntimeInfo) Filename added in v1.1.15

func (r RuntimeInfo) Filename() string

func (RuntimeInfo) String added in v1.1.15

func (r RuntimeInfo) String() string

type StatusResponseWriter added in v1.9.6

type StatusResponseWriter struct {
	http.ResponseWriter
	// contains filtered or unexported fields
}

func NewStatusResponseWriter added in v1.9.6

func NewStatusResponseWriter(w http.ResponseWriter) *StatusResponseWriter

func (*StatusResponseWriter) WriteHeader added in v1.9.6

func (w *StatusResponseWriter) WriteHeader(code int)

type StringTable added in v1.3.21

type StringTable struct {
	Cells     [][]string
	NoHeader  bool
	Alignment []int
}

func NewStringTable added in v1.3.21

func NewStringTable() *StringTable

func (*StringTable) AddCol added in v1.3.21

func (st *StringTable) AddCol(txt string)

func (*StringTable) AddCols added in v1.3.21

func (st *StringTable) AddCols(txts ...string)

func (*StringTable) AddRow added in v1.3.21

func (st *StringTable) AddRow()

func (*StringTable) CSV added in v1.9.11

func (st *StringTable) CSV() string

func (*StringTable) CSVToWriter added in v1.9.33

func (st *StringTable) CSVToWriter(w io.Writer) error

func (*StringTable) Clear added in v1.3.21

func (st *StringTable) Clear()

func (*StringTable) Debug added in v1.8.14

func (st *StringTable) Debug()

func (*StringTable) HTML added in v1.9.33

func (st *StringTable) HTML() string

func (*StringTable) HTMLToWriter added in v1.9.33

func (st *StringTable) HTMLToWriter(w io.Writer) error

func (*StringTable) InsertCols added in v1.9.10

func (st *StringTable) InsertCols(row int, txts ...string)

func (*StringTable) JSON added in v1.9.10

func (st *StringTable) JSON() string

func (*StringTable) JSONToWriter added in v1.9.33

func (st *StringTable) JSONToWriter(w io.Writer) error

func (*StringTable) Markdown added in v1.4.27

func (st *StringTable) Markdown() string

func (*StringTable) MarkdownToWriter added in v1.9.33

func (st *StringTable) MarkdownToWriter(w io.Writer) error

func (*StringTable) Rows added in v1.6.29

func (st *StringTable) Rows() int

func (*StringTable) Table added in v1.9.12

func (st *StringTable) Table() string

func (*StringTable) TableToWriter added in v1.9.33

func (st *StringTable) TableToWriter(w io.Writer) error

type SwapBuffer added in v1.9.33

type SwapBuffer struct {
	io.ReadWriteCloser
	// contains filtered or unexported fields
}

func NewSwapBuffer added in v1.9.33

func NewSwapBuffer() *SwapBuffer

func (*SwapBuffer) Close added in v1.9.33

func (sb *SwapBuffer) Close() error

func (*SwapBuffer) CompressedLen added in v1.9.34

func (sb *SwapBuffer) CompressedLen() (int, error)

func (*SwapBuffer) Len added in v1.9.33

func (sb *SwapBuffer) Len() int

func (*SwapBuffer) OnDisk added in v1.9.33

func (sb *SwapBuffer) OnDisk() bool

func (*SwapBuffer) Read added in v1.9.33

func (sb *SwapBuffer) Read(p []byte) (int, error)

func (*SwapBuffer) Write added in v1.9.33

func (sb *SwapBuffer) Write(p []byte) (int, error)

func (*SwapBuffer) WriteString added in v1.9.33

func (sb *SwapBuffer) WriteString(s string) (int, error)

type Sync added in v1.6.6

type Sync[T any] struct {
	ReentrantMutex

	Ref T
	// contains filtered or unexported fields
}

func NewSync added in v1.6.16

func NewSync[T any]() *Sync[T]

func NewSyncOf added in v1.6.17

func NewSyncOf[T any](t T) *Sync[T]

func (*Sync[T]) Get added in v1.6.6

func (sync *Sync[T]) Get() T

func (*Sync[T]) IsSet added in v1.6.6

func (sync *Sync[T]) IsSet() bool

func (*Sync[T]) RunSynchronized added in v1.8.96

func (sync *Sync[T]) RunSynchronized(fn func(T))

func (*Sync[T]) Set added in v1.6.6

func (sync *Sync[T]) Set(value T)

type SystemInfo added in v1.1.15

type SystemInfo struct {
	KernelName    string
	KernelVersion string
	KernelRelease string
	Platform      string
	MemTotal      string
	MemFree       string
}

func GetSystemInfo added in v1.1.15

func GetSystemInfo() (*SystemInfo, error)

type TTY added in v1.1.84

type TTY struct {
	// contains filtered or unexported fields
}

func NewTTY added in v1.1.84

func NewTTY(device string) (*TTY, error)

func (*TTY) Connect added in v1.1.84

func (tty *TTY) Connect() (EndpointConnection, error)

func (*TTY) Start added in v1.1.84

func (tty *TTY) Start() error

func (*TTY) Stop added in v1.1.84

func (tty *TTY) Stop() error

type TTYConnection added in v1.1.84

type TTYConnection struct {
	EndpointConnection
	// contains filtered or unexported fields
}

func (*TTYConnection) Close added in v1.1.84

func (ttyConnection *TTYConnection) Close() error

func (*TTYConnection) Read added in v1.1.84

func (ttyConnection *TTYConnection) Read(p []byte) (n int, err error)

func (*TTYConnection) SetDeadline added in v1.5.16

func (ttyConnection *TTYConnection) SetDeadline(t time.Time) error

func (*TTYConnection) SetReadDeadline added in v1.5.16

func (ttyConnection *TTYConnection) SetReadDeadline(t time.Time) error

func (*TTYConnection) SetWriteDeadline added in v1.5.16

func (ttyConnection *TTYConnection) SetWriteDeadline(t time.Time) error

func (*TTYConnection) Write added in v1.1.84

func (ttyConnection *TTYConnection) Write(p []byte) (n int, err error)

type TaskFunc added in v1.9.41

type TaskFunc func(ctx context.Context) error

type Tasks added in v1.9.41

type Tasks struct {
	sync.Mutex
	Wg   sync.WaitGroup
	Ctx  context.Context
	Errs []error
}

func NewTasks added in v1.9.41

func NewTasks(ctx context.Context) *Tasks

func (*Tasks) Add added in v1.9.41

func (tasks *Tasks) Add(fn TaskFunc)

func (*Tasks) Wait added in v1.9.41

func (tasks *Tasks) Wait() error

type TimeoutReader added in v1.1.61

type TimeoutReader struct {
	FirstRead time.Time
	// contains filtered or unexported fields
}

func NewTimeoutReader added in v1.1.61

func NewTimeoutReader(reader io.Reader, initialTimeout bool, timeout time.Duration) *TimeoutReader

func (*TimeoutReader) Read added in v1.1.61

func (timeoutReader *TimeoutReader) Read(p []byte) (int, error)

type TimeoutRegister added in v1.5.19

type TimeoutRegister[T comparable] struct {
	// contains filtered or unexported fields
}

func NewTimeoutRegister added in v1.5.19

func NewTimeoutRegister[T comparable](timeout time.Duration) *TimeoutRegister[T]

func (*TimeoutRegister[T]) Close added in v1.6.6

func (tr *TimeoutRegister[T]) Close()

func (*TimeoutRegister[T]) IsRegistered added in v1.5.20

func (tr *TimeoutRegister[T]) IsRegistered(item T) bool

func (*TimeoutRegister[T]) Register added in v1.5.19

func (tr *TimeoutRegister[T]) Register(item T)

type TimeoutWriter added in v1.1.104

type TimeoutWriter struct {
	FirstWrite time.Time
	// contains filtered or unexported fields
}

func NewTimeoutWriter added in v1.1.104

func NewTimeoutWriter(writer io.Writer, initialTimeout bool, timeout time.Duration) *TimeoutWriter

func (*TimeoutWriter) Write added in v1.1.104

func (timeoutWriter *TimeoutWriter) Write(p []byte) (int, error)

type URI added in v1.4.13

type URI struct {
	Scheme   string
	Opaque   string
	Username string
	Password string
	Host     string
	Port     string
	Path     string
	Params   url.Values
}

func NewURI added in v1.8.37

func NewURI(s string) (*URI, error)

func (*URI) IsV6 added in v1.4.13

func (uri *URI) IsV6() bool

func (*URI) String added in v1.4.13

func (uri *URI) String() string

type Webpage added in v1.1.15

type Webpage struct {
	HtmlRoot          *etree.Element
	HtmlHead          *etree.Element
	HtmlTitle         *etree.Element
	HtmlMenu          *etree.Element
	HtmlBody          *etree.Element
	HtmlScrollContent *etree.Element
	HtmlContent       *etree.Element
	// contains filtered or unexported fields
}

func NewPage added in v1.1.15

func NewPage(context echo.Context, contentStyle string, title string) (*Webpage, error)

func (*Webpage) HTML added in v1.1.15

func (this *Webpage) HTML() (string, error)

func (*Webpage) SetRedirectTimeout added in v1.4.29

func (page *Webpage) SetRedirectTimeout(timeout time.Duration, url string)

type ZeroReader added in v1.1.21

type ZeroReader struct {
}

func NewZeroReader added in v1.1.21

func NewZeroReader() *ZeroReader

func (ZeroReader) Read added in v1.1.21

func (this ZeroReader) Read(p []byte) (n int, err error)

type ZipTarget added in v1.1.109

type ZipTarget struct {
	BaseDir string
	Files   []string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL