Files
gluetun/internal/server/interfaces.go
Quentin McGaw 0bb320065e feat(server): patch VPN settings
- `PUT` at `/v1/vpn/settings`
- Undocumented, experimental for now
2022-08-21 23:36:48 +00:00

35 lines
810 B
Go

package server
import (
"context"
"github.com/qdm12/gluetun/internal/configuration/settings"
"github.com/qdm12/gluetun/internal/models"
)
type VPNLooper interface {
GetStatus() (status models.LoopStatus)
ApplyStatus(ctx context.Context, status models.LoopStatus) (
outcome string, err error)
GetSettings() (settings settings.VPN)
SetSettings(ctx context.Context, settings settings.VPN) (outcome string)
}
type DNSLoop interface {
ApplyStatus(ctx context.Context, status models.LoopStatus) (
outcome string, err error)
GetStatus() (status models.LoopStatus)
}
type PortForwardedGetter interface {
GetPortForwarded() (portForwarded uint16)
}
type PublicIPLoop interface {
GetData() (data models.PublicIP)
}
type Storage interface {
GetFilterChoices(provider string) models.FilterChoices
}