common

package
v0.0.0-...-fe00bee Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2023 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	VENDOR_SEP    = ";"
	REMOTE_PREFIX = "remote:"
)

Variables

View Source
var (
	UserAgent = "" /* 130-byte string literal not displayed */

)

Functions

func Atoi

func Atoi(s string) (int64, error)

func ConvertFace

func ConvertFace(face string) string

func DelFile

func DelFile(path string) bool

func FileExist

func FileExist(path string) bool

func GetBytes

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

func HTTPGetReadCloser

func HTTPGetReadCloser(url string) (io.ReadCloser, error)

func Itoa

func Itoa(i int64) string

func NewGzipReadCloser

func NewGzipReadCloser(reader io.ReadCloser) (io.ReadCloser, error)

func Respond

func Respond(w http.ResponseWriter, data any) error

Types

type AppData

type AppData struct {
	Title       string `json:"title,omitempty"`
	Description string `json:"desc,omitempty"`
	Source      string `json:"source,omitempty"`
	URL         string `json:"url,omitempty"`

	Content string               `json:"raw,omitempty"`
	Blobs   map[string]*BlobData `json:"blobs,omitempty"`
}

type BlobData

type BlobData struct {
	Name   string `json:"name,omitempty"`
	Mime   string `json:"mime,omitempty"`
	Binary []byte `json:"binary,omitempty"`
}

func Download

func Download(url string) (*BlobData, error)

type Chat

type Chat struct {
	ID    string `json:"id,omitempty"`
	Type  string `json:"type,omitempty"`
	Title string `json:"title,omitempty"`
}

type Configure

type Configure struct {
	Limb struct {
		Account  int64  `yaml:"account"`
		Password string `yaml:"password"`
		Protocol int    `yaml:"protocol"`
		HookSelf bool   `yaml:"hook_self"`

		Sign struct {
			Server          string        `yaml:"server"`
			Bearer          string        `yaml:"bearer"`
			Key             string        `yaml:"key"`
			IsBelow110      bool          `yaml:"is_below_110"`
			RefreshInterval time.Duration `yaml:"refresh_interval"`
		} `yaml:"sign"`
	} `yaml:"limb"`

	Service struct {
		Addr         string        `yaml:"addr"`
		Secret       string        `yaml:"secret"`
		PingInterval time.Duration `yaml:"ping_interval"`
		//SendTiemout  time.Duration `yaml:"send_timeout"`
		SyncDelay    time.Duration `yaml:"sync_delay"`
		SyncInterval time.Duration `yaml:"sync_interval"`
	} `yaml:"service"`

	Log struct {
		Level string `yaml:"level"`
	} `yaml:"log"`
}

func LoadConfig

func LoadConfig(path string) (*Configure, error)

type ErrorResponse

type ErrorResponse struct {
	HTTPStatus int    `json:"-"`
	Code       string `json:"code"`
	Message    string `json:"message"`
}

func (*ErrorResponse) Error

func (er *ErrorResponse) Error() string

func (ErrorResponse) Write

func (er ErrorResponse) Write(w http.ResponseWriter)

type EventType

type EventType int
const (
	EventText EventType = iota
	EventPhoto
	EventAudio
	EventVideo
	EventFile
	EventLocation
	EventNotice
	EventApp
	EventRevoke
	EventVoIP
	EventSystem
	EventSync
	EventObserve
	EventSticker
)

func (EventType) String

func (t EventType) String() string

type LocationData

type LocationData struct {
	Name      string  `json:"name,omitempty"`
	Address   string  `json:"address,omitempty"`
	Longitude float64 `json:"longitude,omitempty"`
	Latitude  float64 `json:"latitude,omitempty"`
}

type MessageType

type MessageType int
const (
	MsgRequest MessageType = iota
	MsgResponse
)

func (MessageType) String

func (t MessageType) String() string

type OctopusEvent

type OctopusEvent struct {
	Vendor    Vendor     `json:"vendor,omitempty"`
	ID        string     `json:"id,omitempty"`
	ThreadID  string     `json:"thread_id,omitempty"`
	Timestamp int64      `json:"timestamp,omitempty"`
	From      User       `json:"from,omitempty"`
	Chat      Chat       `json:"chat,omitempty"`
	Type      EventType  `json:"type,omitempty"`
	Content   string     `json:"content,omitempty"`
	Reply     *ReplyInfo `json:"reply,omitempty"`
	Data      any        `json:"data,omitempty"`

	Callback func(*OctopusEvent, error) `json:"-"`
}

func (*OctopusEvent) UnmarshalJSON

func (o *OctopusEvent) UnmarshalJSON(data []byte) error

type OctopusMessage

type OctopusMessage struct {
	ID   int64       `json:"id,omitempty"`
	Type MessageType `json:"type,omitempty"`
	Data any         `json:"data,omitempty"`
}

func (*OctopusMessage) UnmarshalJSON

func (o *OctopusMessage) UnmarshalJSON(data []byte) error

type OctopusRequest

type OctopusRequest struct {
	Type RequestType `json:"type,omitempty"`
	Data any         `json:"data,omitempty"`
}

func (*OctopusRequest) UnmarshalJSON

func (o *OctopusRequest) UnmarshalJSON(data []byte) error

type OctopusResponse

type OctopusResponse struct {
	Type  ResponseType   `json:"type,omitempty"`
	Error *ErrorResponse `json:"error,omitempty"`
	Data  any            `json:"data,omitempty"`
}

func (*OctopusResponse) UnmarshalJSON

func (o *OctopusResponse) UnmarshalJSON(data []byte) error

type ReplyInfo

type ReplyInfo struct {
	ID        string `json:"id"`
	Timestamp int64  `json:"ts"`
	Sender    string `json:"sender"`
	Content   string `json:"content"`
}

type Request

type Request struct {
	Method string
	URL    string
	Header map[string]string
	Limit  int64
	Body   io.Reader
}

Request is a file download request

func (Request) Bytes

func (r Request) Bytes() ([]byte, error)

type RequestType

type RequestType int
const (
	ReqDisconnect RequestType = iota
	ReqPing
	ReqEvent
)

func (RequestType) String

func (t RequestType) String() string

type ResponseType

type ResponseType int
const (
	RespClosed ResponseType = iota
	RespPing
	RespEvent
)

func (ResponseType) String

func (t ResponseType) String() string

type User

type User struct {
	ID       string `json:"id,omitempty"`
	Username string `json:"username,omitempty"`
	Remark   string `json:"remark,omitempty"`
}

type Vendor

type Vendor struct {
	Type string `json:"type,omitempty"`
	UID  string `json:"uid,omitempty"`
}

func VendorFromString

func VendorFromString(str string) (*Vendor, error)

func (Vendor) String

func (v Vendor) String() string

Jump to

Keyboard shortcuts

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