Documentation
¶
Index ¶
- Variables
- func IncrIPLookupMetrics(status string)
- func IncrRespMetrics(inputType, respBy, respType string)
- func MetricMiddleware(h http.HandlerFunc) http.HandlerFunc
- func MetricRegister(registerer prometheus.Registerer)
- func MetricRegisterOn(registerer prometheus.Registerer)
- func MetricUnRegister(registerer prometheus.Registerer)
- func MetricUnRegisterFrom(registerer prometheus.Registerer)
- func WhoisHandler(cli *whois.Client, resolver *Resolver, acsLogger logrus.FieldLogger) http.HandlerFunc
- type IP
- type Resolver
- type Server
- type ServerCfg
- type WhoisIPResp
- type WhoisReq
- type WhoisResp
Constants ¶
This section is empty.
Variables ¶
var ( DefaultIpLookupTimeout = 2 * time.Second DefaultTimeout = 5 * time.Second )
Functions ¶
func IncrIPLookupMetrics ¶
func IncrIPLookupMetrics(status string)
func IncrRespMetrics ¶
func IncrRespMetrics(inputType, respBy, respType string)
func MetricMiddleware ¶
func MetricMiddleware(h http.HandlerFunc) http.HandlerFunc
MetricMiddleware is middlerware to record prometheus metrics for http request
func MetricRegister ¶
func MetricRegister(registerer prometheus.Registerer)
MetricRegister register metrics when server starts
func MetricRegisterOn ¶
func MetricRegisterOn(registerer prometheus.Registerer)
MetricRegisterOn register needed promutheus metrics on given registerer
func MetricUnRegister ¶
func MetricUnRegister(registerer prometheus.Registerer)
MetricUnRegister unregister metrics when server shutdown
func MetricUnRegisterFrom ¶
func MetricUnRegisterFrom(registerer prometheus.Registerer)
MetricUnRegisterFrom unregister metrics from registerer
func WhoisHandler ¶
func WhoisHandler(cli *whois.Client, resolver *Resolver, acsLogger logrus.FieldLogger) http.HandlerFunc
WhoisHandler handles POST requests to 'apiWhoisPath'
Types ¶
type Resolver ¶
type Resolver struct {
// contains filtered or unexported fields
}
Resolver controls lookups ips for given domain
func NewResolver ¶
NewResolver initializes resolver and lookup timeout
type Server ¶
type Server struct {
Killed chan struct{}
// contains filtered or unexported fields
}
Server is whois api server to interact with database, cache, logger, ...
func New ¶
func New(cfg *ServerCfg, errLogger, acsLogger logrus.FieldLogger) (*Server, error)
New initialize whois api server
type ServerCfg ¶
type ServerCfg struct {
// contains filtered or unexported fields
}
func NewServerCfg ¶
type WhoisIPResp ¶
type WhoisIPResp struct {
Whois *wip.Whois `json:"whois"`
Type string `json:"type"`
Notes struct {
OriginalQuery string `json:"query"`
Error string `json:"error,omitempty"`
} `json:"notes"`
QueriedDate string `json:"queried_date"`
}
WhoisIPResp represent whois response format for ip
type WhoisReq ¶
type WhoisReq struct {
Query string `json:"query"`
IP bool `json:"ip"`
WhoisServer string `json:"whois_server"`
}
WhoisReq represents whois requests from user
type WhoisResp ¶
type WhoisResp struct {
Whois *wd.Whois `json:"whois"`
Type string `json:"type"`
Notes struct {
OriginalQuery string `json:"query"`
PublicSuffixs []string `json:"public_suffixs,omitempty"`
Error string `json:"error,omitempty"`
} `json:"notes"`
IP []IP `json:"ip,omitempty"`
QueriedDate string `json:"queried_date"`
}
WhoisResp represent whois response format