v0.0.0-...-14308cf Latest Latest

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

Go to latest
Published: Sep 18, 2019 License: Apache-2.0 Imports: 13 Imported by: 1




This section is empty.


This section is empty.


This section is empty.


type BindingFetcher

type BindingFetcher struct {
	// contains filtered or unexported fields

BindingFetcher uses a Getter to fetch and decode Bindings

func NewBindingFetcher

func NewBindingFetcher(limit int, g Getter, m Metrics) *BindingFetcher

NewBindingFetcher returns a new BindingFetcher

func (*BindingFetcher) DrainLimit

func (f *BindingFetcher) DrainLimit() int

func (*BindingFetcher) FetchBindings

func (f *BindingFetcher) FetchBindings() ([]syslog.Binding, error)

FetchBindings reaches out to the syslog drain binding provider via the Getter and decodes the response. If it does not get a 200, it returns an error.

type BlacklistRange

type BlacklistRange struct {
	Start string
	End   string

type BlacklistRanges

type BlacklistRanges struct {
	Ranges []BlacklistRange

func NewBlacklistRanges

func NewBlacklistRanges(ranges ...BlacklistRange) (*BlacklistRanges, error)

func (*BlacklistRanges) CheckBlacklist

func (i *BlacklistRanges) CheckBlacklist(ip net.IP) error

func (*BlacklistRanges) ParseHost

func (i *BlacklistRanges) ParseHost(drainURL string) (string, string, error)

func (*BlacklistRanges) ResolveAddr

func (i *BlacklistRanges) ResolveAddr(host string) (net.IP, error)

func (*BlacklistRanges) UnmarshalEnv

func (i *BlacklistRanges) UnmarshalEnv(v string) error

UnmarshalEnv implements envstruct.Unmarshaller. Example input:,

type FilteredBindingFetcher

type FilteredBindingFetcher struct {
	// contains filtered or unexported fields

func NewFilteredBindingFetcher

func NewFilteredBindingFetcher(c IPChecker, b binding.Fetcher, m metricsClient, lc *log.Logger) *FilteredBindingFetcher

func (FilteredBindingFetcher) DrainLimit

func (f FilteredBindingFetcher) DrainLimit() int

func (*FilteredBindingFetcher) FetchBindings

func (f *FilteredBindingFetcher) FetchBindings() ([]syslog.Binding, error)

type Getter

type Getter interface {
	Get() ([]binding.Binding, error)

Getter is configured to fetch HTTP responses

type IPChecker

type IPChecker interface {
	ParseHost(url string) (string, string, error)
	ResolveAddr(host string) (net.IP, error)
	CheckBlacklist(ip net.IP) error

type Metrics

type Metrics interface {
	NewGauge(name string, opts ...metrics.MetricOption) metrics.Gauge
	NewCounter(name string, opts ...metrics.MetricOption) metrics.Counter

Metrics is the client used to expose gauge and counter metricsClient.

Jump to

Keyboard shortcuts

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