Versions in this module Expand all Collapse all v0 v0.2.1 May 18, 2026 v0.2.0 May 14, 2026 Changes in this version + func Run(cfg Config) error + type AccountHandler struct + func (h *AccountHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) + type AccountStore struct + func NewAccountStore(filePath string) *AccountStore + func (s *AccountStore) Create(a DevAccount) DevAccount + func (s *AccountStore) Delete(id int64) bool + func (s *AccountStore) First() *DevAccount + func (s *AccountStore) Get(id int64) *DevAccount + func (s *AccountStore) List() []DevAccount + func (s *AccountStore) Update(id int64, a DevAccount) *DevAccount + type Config struct + Addr string + DataDir string + ExtraRoutes func(mux *http.ServeMux, store *AccountStore) + Plugin sdk.GatewayPlugin + SchedulePolicy SchedulePolicy + type DevAccount struct + AccountType string + Credentials map[string]string + ID int64 + Name string + ProxyURL string + Weight int + type ProxyHandler struct + func (p *ProxyHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) + type SchedulePolicy string + const ScheduleNone + const ScheduleWeightedRR + type Scheduler struct + func NewScheduler(store *AccountStore, policy SchedulePolicy) *Scheduler + func (s *Scheduler) IsRetryable(outcome sdk.ForwardOutcome, err error) bool + func (s *Scheduler) Policy() SchedulePolicy + func (s *Scheduler) ReportResult(accountID int64, outcome sdk.ForwardOutcome) + func (s *Scheduler) Select() *DevAccount + func (s *Scheduler) SetPinned(accountID int64) + func (s *Scheduler) SetPolicy(policy SchedulePolicy) + func (s *Scheduler) Status() map[string]any + type SchedulerHandler struct + func (h *SchedulerHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)