common

package module
v0.0.0-...-0ccc314 Latest Latest
Warning

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

Go to latest
Published: Nov 5, 2024 License: MIT Imports: 11 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GenericErr

func GenericErr(status int, err error) error

GenericErr returns an error appropriate to the given HTTP status (or actual error, if given).

func Req

func Req(httpClient *http.Client, timeoutHandler TimeoutHandler, mode string, uri string, data any, queryParams url.Values, headers map[string]string, response bool) (string, int, error)

Stripped down-ish version of rough http request function used in most of the API clients.

Types

type Config

type Config struct {
	Sections []Section `json:"sections" yaml:"sections"`
}

type ConfigurableTransport

type ConfigurableTransport interface {
	// SetTransport sets the http.Transport to use for requests. Can be used to set a proxy.
	SetTransport(t *http.Transport)
}

type ErrForbidden

type ErrForbidden struct{}

func (ErrForbidden) Error

func (err ErrForbidden) Error() string

type ErrNotFound

type ErrNotFound error

most 404 errors are from UserNotFound, so this generic error doesn't really need any detail.

var (
	NotFound ErrNotFound = errors.New(lm.NotFound)
)

type ErrUnauthorized

type ErrUnauthorized struct{}

func (ErrUnauthorized) Error

func (err ErrUnauthorized) Error() string

type ErrUnknown

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

func (ErrUnknown) Error

func (err ErrUnknown) Error() string

type Option

type Option [2]string

type Section

type Section struct {
	Section  string      `json:"section" yaml:"section" example:"my_section"`
	Meta     SectionMeta `json:"meta" yaml:"meta"`
	Settings []Setting   `json:"settings" yaml:"settings"`
}

type SectionMeta

type SectionMeta struct {
	Name         string `json:"name" yaml:"name" example:"My Section"` // friendly name of the section
	Description  string `json:"description" yaml:"description"`
	Advanced     bool   `json:"advanced,omitempty" yaml:"advanced,omitempty"`
	Disabled     bool   `json:"disabled,omitempty" yaml:"disabled,omitempty"`
	DependsTrue  string `json:"depends_true,omitempty" yaml:"depends_true,omitempty"`
	DependsFalse string `json:"depends_false,omitempty" yaml:"depends_false,omitempty"`
	WikiLink     string `json:"wiki_link,omitempty" yaml:"wiki_link,omitempty"`
}

type Setting

type Setting struct {
	Setting         string      `json:"setting" yaml:"setting" example:"my_setting"`
	Name            string      `json:"name" yaml:"name" example:"My Setting"`
	Description     string      `json:"description" yaml:"description"`
	Required        bool        `json:"required" yaml:"required"`
	RequiresRestart bool        `json:"requires_restart" yaml:"requires_restart"`
	Advanced        bool        `json:"advanced,omitempty" yaml:"advanced,omitempty"`
	Type            SettingType `json:"type" yaml:"type"` // Type (string, number, bool, etc.)
	Value           any         `json:"value" yaml:"value"`
	Options         []Option    `json:"options,omitempty" yaml:"options,omitempty"`
	DependsTrue     string      `json:"depends_true,omitempty" yaml:"depends_true,omitempty"`   // If specified, this field is enabled when the specified bool setting is enabled.
	DependsFalse    string      `json:"depends_false,omitempty" yaml:"depends_false,omitempty"` // If specified, opposite behaviour of DependsTrue.
	Style           string      `json:"style,omitempty" yaml:"style,omitempty"`
	Deprecated      bool        `json:"deprecated,omitempty" yaml:"deprecated,omitempty"`
	WikiLink        string      `json:"wiki_link,omitempty" yaml:"wiki_link,omitempty"`
}

type SettingType

type SettingType string
var (
	BoolType     SettingType = "bool"
	SelectType   SettingType = "select"
	TextType     SettingType = "text"
	PasswordType SettingType = "password"
	NumberType   SettingType = "number"
	NoteType     SettingType = "note"
	EmailType    SettingType = "email"
	ListType     SettingType = "list"
)

type TimeoutHandler

type TimeoutHandler func()

TimeoutHandler recovers from an http timeout or panic.

func NewTimeoutHandler

func NewTimeoutHandler(name, addr string, noFail bool) TimeoutHandler

NewTimeoutHandler returns a new Timeout handler.

Jump to

Keyboard shortcuts

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