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