client

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2023 License: Apache-2.0 Imports: 6 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CheckUpgradeRequest

type CheckUpgradeRequest struct {
	AppVersion string `json:"appVersion"`

	ExtraTagInfo   map[string]string      `json:"extraTagInfo"`
	ExtraFieldInfo map[string]interface{} `json:"extraFieldInfo"`

	// Deprecated: replaced by ExtraTagInfo
	ExtraInfo map[string]string `json:"extraInfo"`
}

type CheckUpgradeResponse

type CheckUpgradeResponse struct {
	Versions                 []Version `json:"versions"`
	RequestIntervalInMinutes int       `json:"requestIntervalInMinutes"`
}

type UpgradeChecker

type UpgradeChecker struct {
	Address                string
	UpgradeRequester       UpgradeRequester
	DefaultRequestInterval time.Duration
	// contains filtered or unexported fields
}

func NewUpgradeChecker

func NewUpgradeChecker(address string, upgradeRequester UpgradeRequester) *UpgradeChecker

func (*UpgradeChecker) CheckUpgrade

func (c *UpgradeChecker) CheckUpgrade(currentAppVersion string, extraInfo map[string]string) (*CheckUpgradeResponse, error)

CheckUpgrade sends a request that contains the current version of the application and any extra information to the Upgrade Responder server. Then it parses and return the response

func (*UpgradeChecker) SetDefaultRequestInterval added in v0.1.2

func (c *UpgradeChecker) SetDefaultRequestInterval(interval time.Duration)

func (*UpgradeChecker) Start

func (c *UpgradeChecker) Start()

func (*UpgradeChecker) Stop

func (c *UpgradeChecker) Stop()

type UpgradeRequester

type UpgradeRequester interface {
	GetCurrentVersion() string
	GetExtraInfo() map[string]string
	ProcessUpgradeResponse(response *CheckUpgradeResponse, err error)
}

type Version

type Version struct {
	Name                 string            `json:"name"` // must be in semantic versioning
	ReleaseDate          string            `json:"releaseDate"`
	MinUpgradableVersion string            `json:"minUpgradableVersion"`
	Tags                 []string          `json:"tags"`
	ExtraInfo            map[string]string `json:"extraInfo"`
}

Jump to

Keyboard shortcuts

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