package
2.4.4+incompatible
Repository: https://github.com/laincloud/lainlet.git
Documentation: pkg.go.dev

# README

数据类型

type Response struct {
	Id       int64
	Event    string
	Data     []byte
}

type Client struct {
}

func New(addr string) *Client   // addr为lainlet地址, 如"192.168.77.21:9001"

func (c *Client) Get(uri string, timeout time.Duration) ([]byte, error)  // get请求

func (c *Client) Watch(uri string, ctx context.Context) (<-chan *Response, error) // watch请求

func (c *Client) Do(uri string, timeout time.Duration, watch bool) (io.ReadCloser, error) // rawrequest

Demo

package main

import (
	"fmt"
	"golang.org/x/net/context"
	api "github.com/laincloud/lainlet/api/v2"
	"github.com/laincloud/lainlet/client"
	"log"
	"os"
	"time"
)

func main() {
	if len(os.Args) < 2 {
		fmt.Println("lainlet addr required")
		return
	}
	info := new(api.GeneralCoreInfo)

	// get request
	c := client.New(os.Args[1])
	data, err := c.Get("/coreinfowatcher/?appname=registry", 0)
	if err != nil {
		panic(err)
	}
	info.Decode(data)
	fmt.Println(info.Data)

	// watch request
	ctx, _ := context.WithTimeout(context.Background(), time.Second*30) // 30 seconds timeout
	ch, err := c.Watch("/coreinfowatcher/?appname=registry&heartbeat=5", ctx)
	if err != nil {
		panic(err)
	}
	for event := range ch {
		fmt.Println("Get a event:")
		fmt.Println("    ", event.Id)
		fmt.Println("    ", event.Event)
		if event.Id != 0 { // id == 0 means error-event or heartbeat
			if err := info.Decode(event.Data); err != nil {
				log.Println(err.Error())
			} else {
				fmt.Println("    ", info.Data)
			}
		}
	}
}

# Functions

create a new client, addr is lainlet address such as "127.0.0.1:9001".

# Constants

all the kinds of event.
all the kinds of event.
all the kinds of event.
all the kinds of event.
all the kinds of event.

# Structs

No description provided by the author
The Data type return by /v2/configwatcher?target=vips.
the response returned by watch action.

# Type aliases

The Data type return by /v2/configwatcher.
No description provided by the author
The Data type return by /v2/containers.
No description provided by the author
The Data type return by /v2/coreinfowatcher.
The Data type return by /v2/depends.
No description provided by the author
The Data type return by /v2/localspecquery.
No description provided by the author
The Data type return by /v2/nodes.
No description provided by the author
The Data type return by /v2/podgroupwatcher.
No description provided by the author
The Data type return by /v2/proxywatcher.