api

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: May 4, 2026 License: MIT Imports: 23 Imported by: 0

Documentation

Overview

Package api RESTful API 实现

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LogBuffer added in v1.0.1

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

LogBuffer 日志缓冲区,支持 SSE 订阅

func NewLogBuffer added in v1.0.1

func NewLogBuffer(max int) *LogBuffer

NewLogBuffer 创建日志缓冲区

func (*LogBuffer) Add added in v1.0.1

func (lb *LogBuffer) Add(entry LogEntry)

Add 添加一条日志

func (*LogBuffer) Recent added in v1.0.1

func (lb *LogBuffer) Recent(n int) []LogEntry

Recent 获取最近 n 条日志

func (*LogBuffer) Subscribe added in v1.0.1

func (lb *LogBuffer) Subscribe(id string, bufSize int) (<-chan LogEntry, func())

Subscribe 订阅日志流,返回一个只读通道和取消函数

func (*LogBuffer) Unsubscribe added in v1.0.1

func (lb *LogBuffer) Unsubscribe(id string)

Unsubscribe 取消订阅

type LogEntry added in v1.0.1

type LogEntry struct {
	Type    string `json:"type"`
	Payload string `json:"payload"`
	Time    string `json:"time"`
}

LogEntry 日志条目

type ReloadFunc added in v1.0.1

type ReloadFunc func(configData []byte) error

ReloadFunc 配置重载回调函数类型

type RuleProviderManager added in v1.0.1

type RuleProviderManager interface {
	Reload(name string) error
	ReloadAll() error
	Stats() map[string]RuleProviderStats
}

RuleProviderManager 规则集提供者管理器接口

type RuleProviderStats added in v1.0.1

type RuleProviderStats struct {
	Type      string `json:"type"`
	Behavior  string `json:"behavior"`
	Count     int    `json:"count"`
	UpdatedAt string `json:"updatedAt"`
}

RuleProviderStats 提供者统计

type Server

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

Server API 服务器

func NewServer

func NewServer(addr, secret string) *Server

NewServer 创建 API 服务器

func (*Server) ListenAndServe

func (s *Server) ListenAndServe() error

ListenAndServe 启动 API 服务器

func (*Server) SetConfig added in v1.0.1

func (s *Server) SetConfig(cfg *config.Config)

SetConfig 设置当前配置

func (*Server) SetConnectionTracker added in v1.0.1

func (s *Server) SetConnectionTracker(tracker *stats.ConnectionTracker)

SetConnectionTracker 设置连接跟踪器

func (*Server) SetDNSResolver added in v1.0.1

func (s *Server) SetDNSResolver(resolver *dns.Resolver)

SetDNSResolver 设置 DNS 解析器

func (*Server) SetLogBuffer added in v1.0.1

func (s *Server) SetLogBuffer(lb *LogBuffer)

SetLogBuffer 设置日志缓冲区

func (*Server) SetManagers

func (s *Server) SetManagers(adapterMgr *adapter.Manager, groupMgr *group.Manager, ruleEngine *rules.Engine, statsMgr *stats.Manager)

SetManagers 设置管理器

func (*Server) SetProviderManager added in v1.0.1

func (s *Server) SetProviderManager(mgr RuleProviderManager)

SetProviderManager 设置规则集提供者管理器

func (*Server) SetReloadFunc added in v1.0.1

func (s *Server) SetReloadFunc(f ReloadFunc)

SetReloadFunc 设置配置重载回调

func (*Server) SetSubscriptionManager added in v0.4.0

func (s *Server) SetSubscriptionManager(subMgr SubscriptionManager)

SetSubscriptionManager 设置订阅管理器

func (*Server) Shutdown

func (s *Server) Shutdown(ctx context.Context) error

Shutdown 关闭服务器

type SubscriptionManager added in v0.4.0

type SubscriptionManager interface {
	List() []*subscription.Subscription
	GetSubscription(name string) (*subscription.Subscription, bool)
	Update(name string) error
	UpdateAll() error
}

SubscriptionManager 订阅管理器接口

Jump to

Keyboard shortcuts

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