Documentation ¶
Overview ¶
Package yiigo makes Golang development easier !
Basic usage ¶
MySQL
// default db yiigo.DB().Get(&User{}, "SELECT * FROM `user` WHERE `id` = ?", 1) yiigo.Orm().First(&User{}, 1) // other db yiigo.DB("foo").Get(&User{}, "SELECT * FROM `user` WHERE `id` = ?", 1) yiigo.Orm("foo").First(&User{}, 1)
MongoDB
// default mongodb ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) defer cancel() yiigo.Mongo().Database("test").Collection("numbers").InsertOne(ctx, bson.M{"name": "pi", "value": 3.14159}) // other mongodb ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) defer cancel() yiigo.Mongo("foo").Database("test").Collection("numbers").InsertOne(ctx, bson.M{"name": "pi", "value": 3.14159})
Redis
// default redis conn, err := yiigo.Redis().Get() if err != nil { log.Fatal(err) } defer yiigo.Redis().Put(conn) conn.Do("SET", "test_key", "hello world") // other redis conn, err := yiigo.Redis("foo").Get() if err != nil { log.Fatal(err) } defer yiigo.Redis("foo").Put(conn) conn.Do("SET", "test_key", "hello world")
Config
// yiigo.toml // // [app] // env = "dev" // debug = true // port = 50001 yiigo.Env("app.env").String() yiigo.Env("app.debug").Bool() yiigo.Env("app.port").Int()
Apollo
type QiniuConfig struct { *yiigo.DefaultApolloConfig BucketName string `toml:"bucket_name"` } var qiniu = &QiniuConfig{DefaultApolloConfig: yiigo.NewDefaultConfig("qiniu", "qiniu")} if err := yiigo.StartApollo(qiniu); err != nil { log.Fatal(err) }
Zipkin
reporter := yiigo.NewZipkinHTTPReporter("http://localhost:9411/api/v2/spans") // sampler sampler := zipkin.NewModuloSampler(1) // endpoint endpoint, _ := zipkin.NewEndpoint("yiigo-zipkin", "localhost") tracer, err := yiigo.NewZipkinTracer(reporter, zipkin.WithLocalEndpoint(endpoint), zipkin.WithSharedSpans(false), zipkin.WithSampler(sampler), ) if err != nil { log.Fatal(err) } client, err := tracer.HTTPClient(yiigo.WithZipkinClientOptions(zipkinHttp.ClientTrace(true))) if err != nil { log.Fatal(err) } b, err := client.Get(context.Background(), "url...", yiigo.WithRequestHeader("Content-Type", "application/json"), yiigo.WithRequestTimeout(5*time.Second), ) if err != nil { log.Fatal(err) } fmt.Println(string(b))
Logger
// default logger yiigo.Logger().Info("hello world") // other logger yiigo.Logger("foo").Info("hello world")
For more details, see the documentation for the types and methods.
Index ¶
- Constants
- Variables
- func AESCBCDecrypt(cipherText, key []byte, iv ...byte) ([]byte, error)
- func AESCBCEncrypt(plainText, key []byte, iv ...byte) ([]byte, error)
- func AddSlashes(s string) string
- func DB(name ...string) *sqlx.DB
- func Date(timestamp int64, layout ...string) string
- func Float64sUnique(a []float64) []float64
- func HMAC(t, s, key string) string
- func HTTPGet(url string, options ...HTTPRequestOption) ([]byte, error)
- func HTTPPost(url string, body []byte, options ...HTTPRequestOption) ([]byte, error)
- func Hash(t, s string) string
- func IP2Long(ip string) uint32
- func InArray(x interface{}, y ...interface{}) bool
- func InFloat64s(x float64, y ...float64) bool
- func InInt16s(x int16, y ...int16) bool
- func InInt32s(x int32, y ...int32) bool
- func InInt64s(x int64, y ...int64) bool
- func InInt8s(x int8, y ...int8) bool
- func InInts(x int, y ...int) bool
- func InStrings(x string, y ...string) bool
- func InUint16s(x uint16, y ...uint16) bool
- func InUint32s(x uint32, y ...uint32) bool
- func InUint64s(x uint64, y ...uint64) bool
- func InUint8s(x uint8, y ...uint8) bool
- func InUints(x uint, y ...uint) bool
- func InsertSQL(table string, data interface{}) (string, []interface{})
- func Int16sUnique(a []int16) []int16
- func Int32sUnique(a []int32) []int32
- func Int64sUnique(a []int64) []int64
- func Int8sUnique(a []int8) []int8
- func IntsUnique(a []int) []int
- func Logger(name ...string) *zap.Logger
- func Long2IP(ip uint32) string
- func MD5(s string) string
- func Mongo(name ...string) *mongo.Client
- func MyTimeEncoder(t time.Time, e zapcore.PrimitiveArrayEncoder)
- func NewGinValidator() *ginValidator
- func NewZipkinHTTPReporter(url string, options ...ZipkinReporterOption) reporter.Reporter
- func Orm(name ...string) *gorm.DB
- func PGInsertSQL(table string, data interface{}) (string, []interface{})
- func PGUpdateSQL(query string, data interface{}, args ...interface{}) (string, []interface{})
- func PKCS7Padding(cipherText []byte, blockSize int) []byte
- func PKCS7UnPadding(plainText []byte, blockSize int) []byte
- func QuoteMeta(s string) string
- func SHA1(s string) string
- func SearchInt16s(a []int16, x int16) int
- func SearchInt32s(a []int32, x int32) int
- func SearchInt64s(a []int64, x int64) int
- func SearchInt8s(a []int8, x int8) int
- func SearchUint16s(a []uint16, x uint16) int
- func SearchUint32s(a []uint32, x uint32) int
- func SearchUint64s(a []uint64, x uint64) int
- func SearchUint8s(a []uint8, x uint8) int
- func SearchUints(a []uint, x uint) int
- func SortInt16s(a []int16)
- func SortInt32s(a []int32)
- func SortInt64s(a []int64)
- func SortInt8s(a []int8)
- func SortUint16s(a []uint16)
- func SortUint32s(a []uint32)
- func SortUint64s(a []uint64)
- func SortUint8s(a []uint8)
- func SortUints(a []uint)
- func StartApollo(cfgs ...ApolloConfig) error
- func StringsUnique(a []string) []string
- func StripSlashes(s string) string
- func Uint16sUnique(a []uint16) []uint16
- func Uint32sUnique(a []uint32) []uint32
- func Uint64sUnique(a []uint64) []uint64
- func Uint8sUnique(a []uint8) []uint8
- func UintsUnique(a []uint) []uint
- func UpdateSQL(query string, data interface{}, args ...interface{}) (string, []interface{})
- func VersionCompage(rangeVer, curVer string) bool
- func WeekAround() (monday, sunday string)
- type ApolloConfig
- type BufferPool
- type CDATA
- type DefaultApolloConfig
- type EMail
- type EMailDialer
- type EMailOption
- type EnvValue
- func (e *EnvValue) Bool(defaultValue ...bool) bool
- func (e *EnvValue) Float64(defaultValue ...float64) float64
- func (e *EnvValue) Float64s(defaultValue ...float64) []float64
- func (e *EnvValue) Int(defaultValue ...int) int
- func (e *EnvValue) Int16(defaultValue ...int16) int16
- func (e *EnvValue) Int16s(defaultValue ...int16) []int16
- func (e *EnvValue) Int32(defaultValue ...int32) int32
- func (e *EnvValue) Int32s(defaultValue ...int32) []int32
- func (e *EnvValue) Int64(defaultValue ...int64) int64
- func (e *EnvValue) Int64s(defaultValue ...int64) []int64
- func (e *EnvValue) Int8(defaultValue ...int8) int8
- func (e *EnvValue) Int8s(defaultValue ...int8) []int8
- func (e *EnvValue) Ints(defaultValue ...int) []int
- func (e *EnvValue) Map(key string) map[string]interface{}
- func (e *EnvValue) String(defaultValue ...string) string
- func (e *EnvValue) Strings(defaultValue ...string) []string
- func (e *EnvValue) Time(layout string, defaultValue ...time.Time) time.Time
- func (e *EnvValue) Uint(defaultValue ...uint) uint
- func (e *EnvValue) Uint16(defaultValue ...uint16) uint16
- func (e *EnvValue) Uint16s(defaultValue ...uint16) []uint16
- func (e *EnvValue) Uint32(defaultValue ...uint32) uint32
- func (e *EnvValue) Uint32s(defaultValue ...uint32) []uint32
- func (e *EnvValue) Uint64(defaultValue ...uint64) uint64
- func (e *EnvValue) Uint64s(defaultValue ...uint64) []uint64
- func (e *EnvValue) Uint8(defaultValue ...uint8) uint8
- func (e *EnvValue) Uint8s(defaultValue ...uint8) []uint8
- func (e *EnvValue) Uints(defaultValue ...uint) []uint
- func (e *EnvValue) Unmarshal(dest interface{}) error
- type HTTPClient
- type HTTPClientOption
- func WithHTTPDefaultTimeout(d time.Duration) HTTPClientOption
- func WithHTTPDialFallbackDelay(d time.Duration) HTTPClientOption
- func WithHTTPDialKeepAlive(d time.Duration) HTTPClientOption
- func WithHTTPDialTimeout(d time.Duration) HTTPClientOption
- func WithHTTPExpectContinueTimeout(d time.Duration) HTTPClientOption
- func WithHTTPIdleConnTimeout(d time.Duration) HTTPClientOption
- func WithHTTPMaxConnsPerHost(n int) HTTPClientOption
- func WithHTTPMaxIdleConns(n int) HTTPClientOption
- func WithHTTPMaxIdleConnsPerHost(n int) HTTPClientOption
- func WithHTTPTLSConfig(c *tls.Config) HTTPClientOption
- func WithHTTPTLSHandshakeTimeout(d time.Duration) HTTPClientOption
- type HTTPRequestOption
- type Int16Slice
- type Int32Slice
- type Int64Slice
- type Int8Slice
- type RedisConn
- type RedisPoolResource
- type Uint16Slice
- type Uint32Slice
- type Uint64Slice
- type Uint8Slice
- type UintSlice
- type X
- type ZipkinHTTPClient
- type ZipkinHTTPClientOption
- type ZipkinReporterOption
- type ZipkinTracer
Constants ¶
const ( MySQL = "mysql" Postgres = "postgres" )
const ( Primary = "primary" // Default mode. All operations read from the current replica set primary. PrimaryPreferred = "primary_preferred" // Read from the primary if available. Read from the secondary otherwise. Secondary = "secondary" // Read from one of the nearest secondary members of the replica set. SecondaryPreferred = "secondary_preferred" // Read from one of the nearest secondaries if available. Read from primary otherwise. Nearest = "nearest" // Read from one of the nearest members, irrespective of it being primary or secondary. )
const AsDefault = "default"
AsDefault alias for "default"
Variables ¶
var BufPool = NewBufferPool(4 << 10) // 4KB
BufPool buffer pool
var ErrConfigNil = errors.New("yiigo: config not found")
ErrConfigNil returned when config not found.
Functions ¶
func AESCBCDecrypt ¶
AESCBCDecrypt AES CBC decrypt with PKCS#7 unpadding
func AESCBCEncrypt ¶
AESCBCEncrypt AES CBC encrypt with PKCS#7 padding
func AddSlashes ¶
AddSlashes returns a string with backslashes added before characters that need to be escaped.
func Date ¶
Date format a local time/date and returns a string formatted according to the given format string using the given timestamp of int64. The default layout is: 2006-01-02 15:04:05.
func Float64sUnique ¶
Float64sUnique takes an input slice of float64s and returns a new slice of float64s without duplicate values.
func HTTPGet ¶
func HTTPGet(url string, options ...HTTPRequestOption) ([]byte, error)
HTTPGet http get request
func HTTPPost ¶
func HTTPPost(url string, body []byte, options ...HTTPRequestOption) ([]byte, error)
HTTPPost http post request
func IP2Long ¶
IP2Long converts a string containing an (IPv4) Internet Protocol dotted address into a long integer.
func InArray ¶
func InArray(x interface{}, y ...interface{}) bool
InArray checks if x exists in a slice and returns TRUE if x is found.
func InFloat64s ¶
InFloat64s checks if x exists in []float64s and returns TRUE if x is found.
func InsertSQL ¶
InsertSQL returns mysql insert sql and binds. param data expects: `struct`, `*struct`, `[]struct`, `[]*struct`, `yiigo.X`, `[]yiigo.X`.
func Int16sUnique ¶
Int16sUnique takes an input slice of int16s and returns a new slice of int16s without duplicate values.
func Int32sUnique ¶
Int32sUnique takes an input slice of int32s and returns a new slice of int32s without duplicate values.
func Int64sUnique ¶
Int64sUnique takes an input slice of int64s and returns a new slice of int64s without duplicate values.
func Int8sUnique ¶
Int8sUnique takes an input slice of int8s and returns a new slice of int8s without duplicate values.
func IntsUnique ¶
IntsUnique takes an input slice of ints and returns a new slice of ints without duplicate values.
func Long2IP ¶
Long2IP converts an long integer address into a string in (IPv4) Internet standard dotted format.
func MyTimeEncoder ¶
func MyTimeEncoder(t time.Time, e zapcore.PrimitiveArrayEncoder)
MyTimeEncoder zap time encoder.
func NewGinValidator ¶ added in v4.0.3
func NewGinValidator() *ginValidator
NewGinValidator returns a validator for gin
func NewZipkinHTTPReporter ¶
func NewZipkinHTTPReporter(url string, options ...ZipkinReporterOption) reporter.Reporter
NewZipkinHTTPReporter returns a new zipin http reporter
func PGInsertSQL ¶
PGInsertSQL returns postgres insert sql and binds. param data expects: `struct`, `*struct`, `[]struct`, `[]*struct`, `yiigo.X`, `[]yiigo.X`.
func PGUpdateSQL ¶
PGUpdateSQL returns postgres update sql and binds. param query expects eg: "UPDATE `table` SET $1 WHERE `id` = $2". param data expects: `struct`, `*struct`, `yiigo.X`.
func PKCS7Padding ¶
PKCS7Padding PKCS#7 padding
func PKCS7UnPadding ¶
PKCS7UnPadding PKCS#7 unpadding
func QuoteMeta ¶
QuoteMeta returns a version of str with a backslash character (\) before every character that is among these: . \ + * ? [ ^ ] ( $ )
func SearchInt16s ¶
SearchInt16s searches for x in a sorted slice of int16s and returns the index as specified by Search. The return value is the index to insert x if x is not present (it could be len(a)). The slice must be sorted in ascending order.
func SearchInt32s ¶
SearchInt32s searches for x in a sorted slice of int32s and returns the index as specified by Search. The return value is the index to insert x if x is not present (it could be len(a)). The slice must be sorted in ascending order.
func SearchInt64s ¶
SearchInt64s searches for x in a sorted slice of int64s and returns the index as specified by Search. The return value is the index to insert x if x is not present (it could be len(a)). The slice must be sorted in ascending order.
func SearchInt8s ¶
SearchInt8s searches for x in a sorted slice of int8s and returns the index as specified by Search. The return value is the index to insert x if x is not present (it could be len(a)). The slice must be sorted in ascending order.
func SearchUint16s ¶
SearchUints searches for x in a sorted slice of uint16s and returns the index as specified by Search. The return value is the index to insert x if x is not present (it could be len(a)). The slice must be sorted in ascending order.
func SearchUint32s ¶
SearchUint32s searches for x in a sorted slice of uint32s and returns the index as specified by Search. The return value is the index to insert x if x is not present (it could be len(a)). The slice must be sorted in ascending order.
func SearchUint64s ¶
SearchUint64s searches for x in a sorted slice of uint64s and returns the index as specified by Search. The return value is the index to insert x if x is not present (it could be len(a)). The slice must be sorted in ascending order.
func SearchUint8s ¶
SearchUint8s searches for x in a sorted slice of uint8s and returns the index as specified by Search. The return value is the index to insert x if x is not present (it could be len(a)). The slice must be sorted in ascending order.
func SearchUints ¶
SearchUints searches for x in a sorted slice of uints and returns the index as specified by Search. The return value is the index to insert x if x is not present (it could be len(a)). The slice must be sorted in ascending order.
func StartApollo ¶ added in v4.0.1
func StartApollo(cfgs ...ApolloConfig) error
StartApollo start apollo with configs. Notice! Configs readed from `yiigo.toml` when `app.env` = "dev"
func StringsUnique ¶
StringsUnique takes an input slice of strings and returns a new slice of strings without duplicate values.
func StripSlashes ¶
StripSlashes returns a string with backslashes stripped off. (\' becomes ' and so on.) Double backslashes (\\) are made into a single backslash (\).
func Uint16sUnique ¶
Uint16sUnique takes an input slice of uint16s and returns a new slice of uint16s without duplicate values.
func Uint32sUnique ¶
Uint32sUnique takes an input slice of uint32s and returns a new slice of uint32s without duplicate values.
func Uint64sUnique ¶
Uint64sUnique takes an input slice of uint64s and returns a new slice of uint64s without duplicate values.
func Uint8sUnique ¶
Uint8sUnique takes an input slice of uint8s and returns a new slice of uint8s without duplicate values.
func UintsUnique ¶
UintsUnique takes an input slice of uints and returns a new slice of uints without duplicate values.
func UpdateSQL ¶
UpdateSQL returns mysql update sql and binds. param query expects eg: "UPDATE `table` SET ? WHERE `id` = ?". param data expects: `struct`, `*struct`, `yiigo.X`.
func VersionCompage ¶ added in v4.0.3
VersionCompage compare semantic versions range, support: >, >=, =, !=, <, <=, | (or), & (and) eg: >2.0.0, >=1.0.0&<2.0.0, <2.0.0|>3.0.0, !=4.0.4
func WeekAround ¶ added in v4.0.3
func WeekAround() (monday, sunday string)
WeekAround returns the date of monday and sunday for current week
Types ¶
type ApolloConfig ¶ added in v4.0.1
type ApolloConfig interface { // Namespace return config namespace Namespace() string // DoExtra do some extra things with config DoExtra() }
ApolloConfig apollo config
type BufferPool ¶ added in v4.0.3
type BufferPool struct {
// contains filtered or unexported fields
}
BufferPool type of buffer pool
func NewBufferPool ¶ added in v4.0.3
func NewBufferPool(cap int64) *BufferPool
NewBufferPool returns a new buffer pool
func (*BufferPool) Get ¶ added in v4.0.3
func (p *BufferPool) Get() *bytes.Buffer
Get return a buffer
func (*BufferPool) Put ¶ added in v4.0.3
func (p *BufferPool) Put(buf *bytes.Buffer)
Put put a buffer to pool
type CDATA ¶
type CDATA string
CDATA XML CDATA section which is defined as blocks of text that are not parsed by the parser, but are otherwise recognized as markup.
func (CDATA) MarshalXML ¶
MarshalXML encodes the receiver as zero or more XML elements.
type DefaultApolloConfig ¶ added in v4.0.1
type DefaultApolloConfig struct {
// contains filtered or unexported fields
}
DefaultApolloConfig default config
func NewDefaultConfig ¶ added in v4.0.1
func NewDefaultConfig(namespaceKey, defaultNamespace string) *DefaultApolloConfig
NewDefaultConfig returns a default apollo config
func (*DefaultApolloConfig) DoExtra ¶ added in v4.0.1
func (c *DefaultApolloConfig) DoExtra()
DoExtra do some extra things with config
func (*DefaultApolloConfig) Namespace ¶ added in v4.0.1
func (c *DefaultApolloConfig) Namespace() string
Namespace returns namespace
type EMail ¶
type EMail struct { Title string Subject string From string To []string Cc []string Content string Attach []string }
EMail email
type EMailDialer ¶
type EMailDialer struct {
// contains filtered or unexported fields
}
EMailDialer email dialer
var Mailer *EMailDialer
func (*EMailDialer) Send ¶
func (m *EMailDialer) Send(e *EMail, options ...EMailOption) error
Send send an email.
type EMailOption ¶
type EMailOption interface {
// contains filtered or unexported methods
}
EMailOption configures how we set up the email
func WithEMailCharset ¶
func WithEMailCharset(s string) EMailOption
WithEMailCharset specifies the `Charset` to email.
func WithEMailContentType ¶
func WithEMailContentType(s string) EMailOption
WithEMailContentType specifies the `ContentType` to email.
func WithEMailEncoding ¶
func WithEMailEncoding(e gomail.Encoding) EMailOption
WithEMailEncoding specifies the `Encoding` to email.
type EnvValue ¶
type EnvValue struct {
// contains filtered or unexported fields
}
Env config value
func (*EnvValue) Time ¶
Time returns a value of time.Time. Layout is required when the env value is a string.
type HTTPClient ¶
type HTTPClient struct {
// contains filtered or unexported fields
}
HTTPClient http client
func NewHTTPClient ¶
func NewHTTPClient(options ...HTTPClientOption) *HTTPClient
NewHTTPClient returns a new http client
func (*HTTPClient) Get ¶
func (h *HTTPClient) Get(url string, options ...HTTPRequestOption) ([]byte, error)
Get http get request
func (*HTTPClient) Post ¶
func (h *HTTPClient) Post(url string, body []byte, options ...HTTPRequestOption) ([]byte, error)
Post http post request
type HTTPClientOption ¶
type HTTPClientOption interface {
// contains filtered or unexported methods
}
HTTPClientOption configures how we set up the http client
func WithHTTPDefaultTimeout ¶
func WithHTTPDefaultTimeout(d time.Duration) HTTPClientOption
WithHTTPDefaultTimeout specifies the `DefaultTimeout` to http client.
func WithHTTPDialFallbackDelay ¶
func WithHTTPDialFallbackDelay(d time.Duration) HTTPClientOption
WithHTTPDialFallbackDelay specifies the `FallbackDelay` to net.Dialer.
func WithHTTPDialKeepAlive ¶
func WithHTTPDialKeepAlive(d time.Duration) HTTPClientOption
WithHTTPDialKeepAlive specifies the `KeepAlive` to net.Dialer.
func WithHTTPDialTimeout ¶
func WithHTTPDialTimeout(d time.Duration) HTTPClientOption
WithHTTPDialTimeout specifies the `DialTimeout` to net.Dialer.
func WithHTTPExpectContinueTimeout ¶
func WithHTTPExpectContinueTimeout(d time.Duration) HTTPClientOption
WithHTTPExpectContinueTimeout specifies the `ExpectContinueTimeout` to http client.
func WithHTTPIdleConnTimeout ¶
func WithHTTPIdleConnTimeout(d time.Duration) HTTPClientOption
WithHTTPIdleConnTimeout specifies the `IdleConnTimeout` to http client.
func WithHTTPMaxConnsPerHost ¶
func WithHTTPMaxConnsPerHost(n int) HTTPClientOption
WithHTTPMaxConnsPerHost specifies the `MaxConnsPerHost` to http client.
func WithHTTPMaxIdleConns ¶
func WithHTTPMaxIdleConns(n int) HTTPClientOption
WithHTTPMaxIdleConns specifies the `MaxIdleConns` to http client.
func WithHTTPMaxIdleConnsPerHost ¶
func WithHTTPMaxIdleConnsPerHost(n int) HTTPClientOption
WithHTTPMaxIdleConnsPerHost specifies the `MaxIdleConnsPerHost` to http client.
func WithHTTPTLSConfig ¶
func WithHTTPTLSConfig(c *tls.Config) HTTPClientOption
WithHTTPTLSConfig specifies the `TLSClientConfig` to http client.
func WithHTTPTLSHandshakeTimeout ¶
func WithHTTPTLSHandshakeTimeout(d time.Duration) HTTPClientOption
WithHTTPTLSHandshakeTimeout specifies the `TLSHandshakeTimeout` to http client.
type HTTPRequestOption ¶
type HTTPRequestOption interface {
// contains filtered or unexported methods
}
HTTPRequestOption configures how we set up the http request
func WithRequestClose ¶
func WithRequestClose(b bool) HTTPRequestOption
WithRequestClose specifies close the connection after replying to this request (for servers) or after sending this request and reading its response (for clients).
func WithRequestCookies ¶
func WithRequestCookies(cookies ...*http.Cookie) HTTPRequestOption
WithRequestCookies specifies the cookies to http request.
func WithRequestHeader ¶
func WithRequestHeader(key, value string) HTTPRequestOption
WithRequestHeader specifies the header to http request.
func WithRequestTimeout ¶
func WithRequestTimeout(d time.Duration) HTTPRequestOption
WithRequestTimeout specifies the timeout to http request.
func WithZipkinSpanTag ¶
func WithZipkinSpanTag(key, value string) HTTPRequestOption
WithZipkinSpanTag specifies the zipkin span tag to zipkin http request.
type Int16Slice ¶
type Int16Slice []int16
Int16Slice attaches the methods of Interface to []int16, sorting a increasing order.
func (Int16Slice) Len ¶
func (p Int16Slice) Len() int
func (Int16Slice) Less ¶
func (p Int16Slice) Less(i, j int) bool
func (Int16Slice) Swap ¶
func (p Int16Slice) Swap(i, j int)
type Int32Slice ¶
type Int32Slice []int32
Int32Slice attaches the methods of Interface to []int32, sorting a increasing order.
func (Int32Slice) Len ¶
func (p Int32Slice) Len() int
func (Int32Slice) Less ¶
func (p Int32Slice) Less(i, j int) bool
func (Int32Slice) Swap ¶
func (p Int32Slice) Swap(i, j int)
type Int64Slice ¶
type Int64Slice []int64
Int64Slice attaches the methods of Interface to []int64, sorting a increasing order.
func (Int64Slice) Len ¶
func (p Int64Slice) Len() int
func (Int64Slice) Less ¶
func (p Int64Slice) Less(i, j int) bool
func (Int64Slice) Swap ¶
func (p Int64Slice) Swap(i, j int)
type Int8Slice ¶
type Int8Slice []int8
Int8Slice attaches the methods of Interface to []int8, sorting a increasing order.
type RedisPoolResource ¶
type RedisPoolResource struct {
// contains filtered or unexported fields
}
RedisPoolResource redis pool resource
func (*RedisPoolResource) Get ¶
func (r *RedisPoolResource) Get() (RedisConn, error)
Get get a connection resource from the pool.
func (*RedisPoolResource) Put ¶
func (r *RedisPoolResource) Put(rc RedisConn)
Put returns a connection resource to the pool.
type Uint16Slice ¶
type Uint16Slice []uint16
Uint16Slice attaches the methods of Interface to []uint16, sorting a increasing order.
func (Uint16Slice) Len ¶
func (p Uint16Slice) Len() int
func (Uint16Slice) Less ¶
func (p Uint16Slice) Less(i, j int) bool
func (Uint16Slice) Swap ¶
func (p Uint16Slice) Swap(i, j int)
type Uint32Slice ¶
type Uint32Slice []uint32
Uint32Slice attaches the methods of Interface to []uint, sorting a increasing order.
func (Uint32Slice) Len ¶
func (p Uint32Slice) Len() int
func (Uint32Slice) Less ¶
func (p Uint32Slice) Less(i, j int) bool
func (Uint32Slice) Swap ¶
func (p Uint32Slice) Swap(i, j int)
type Uint64Slice ¶
type Uint64Slice []uint64
Uint64Slice attaches the methods of Interface to []uint64, sorting a increasing order.
func (Uint64Slice) Len ¶
func (p Uint64Slice) Len() int
func (Uint64Slice) Less ¶
func (p Uint64Slice) Less(i, j int) bool
func (Uint64Slice) Swap ¶
func (p Uint64Slice) Swap(i, j int)
type Uint8Slice ¶
type Uint8Slice []uint8
Uint8Slice attaches the methods of Interface to []uint8, sorting a increasing order.
func (Uint8Slice) Len ¶
func (p Uint8Slice) Len() int
func (Uint8Slice) Less ¶
func (p Uint8Slice) Less(i, j int) bool
func (Uint8Slice) Swap ¶
func (p Uint8Slice) Swap(i, j int)
type UintSlice ¶
type UintSlice []uint
UintSlice attaches the methods of Interface to []uint, sorting a increasing order.
type ZipkinHTTPClient ¶
type ZipkinHTTPClient struct {
// contains filtered or unexported fields
}
ZipkinHTTPClient zipkin http client
func (*ZipkinHTTPClient) Get ¶
func (z *ZipkinHTTPClient) Get(ctx context.Context, url string, options ...HTTPRequestOption) ([]byte, error)
Get zipkin http get request
func (*ZipkinHTTPClient) Post ¶
func (z *ZipkinHTTPClient) Post(ctx context.Context, url string, body []byte, options ...HTTPRequestOption) ([]byte, error)
Post zipkin http post request
type ZipkinHTTPClientOption ¶
type ZipkinHTTPClientOption interface {
// contains filtered or unexported methods
}
ZipkinHTTPClientOption configures how we set up the zipkin http client
func WithZipkinClientOptions ¶
func WithZipkinClientOptions(options ...zipkinHTTP.ClientOption) ZipkinHTTPClientOption
WithZipkinClientOptions specifies the `Options` to zipkin http client.
func WithZipkinHTTPClient ¶
func WithZipkinHTTPClient(options ...HTTPClientOption) ZipkinHTTPClientOption
WithZipkinHTTPClient specifies the `Client` to zipkin http client.
func WithZipkinHTTPTransport ¶
func WithZipkinHTTPTransport(options ...zipkinHTTP.TransportOption) ZipkinHTTPClientOption
WithZipkinHTTPTransport specifies the `Transport` to zipkin http client transport.
type ZipkinReporterOption ¶
type ZipkinReporterOption interface {
// contains filtered or unexported methods
}
ZipkinReporterOption configures how we set up the zipkin reporter
func WithZipkinReporterClient ¶
func WithZipkinReporterClient(options ...HTTPClientOption) ZipkinReporterOption
WithZipkinReporterClient specifies the `Client` to zipkin reporter.
func WithZipkinReporterOptions ¶
func WithZipkinReporterOptions(options ...zipkinHTTPReporter.ReporterOption) ZipkinReporterOption
WithZipkinReporterOptions specifies the `Options` to zipkin reporter.
type ZipkinTracer ¶
type ZipkinTracer struct {
// contains filtered or unexported fields
}
ZipkinTracer zipkin tracer
func NewZipkinTracer ¶
func NewZipkinTracer(r reporter.Reporter, options ...zipkin.TracerOption) (*ZipkinTracer, error)
NewZipkinTracer returns a zipkin tracer
func (*ZipkinTracer) HTTPClient ¶
func (z *ZipkinTracer) HTTPClient(options ...ZipkinHTTPClientOption) (*ZipkinHTTPClient, error)
HTTPClient returns a new zipkin http client
func (*ZipkinTracer) Start ¶
func (z *ZipkinTracer) Start(req *http.Request) zipkin.Span
Start returns a new zipkin span
use as below:
span := yiigo.ZTracer.Start(r) defer span.Finish()
... do something with span, eg: span.Tag()
ctx := zipkin.NewContext(req.Context(), span) req = req.WithContext(ctx)