Documentation
¶
Index ¶
- Constants
- Variables
- func WithContext(ctx context.Context) func(hc *HackCheckClient)
- func WithHTTP(client *http.Client) func(hc *HackCheckClient)
- type AssetMonitor
- type CheckOptions
- type CheckResponse
- type DomainMonitor
- type ErrorResponse
- type GetMonitorsResponse
- type HackCheckClient
- func (h *HackCheckClient) Check(options *CheckOptions) (bool, error)
- func (h *HackCheckClient) GetAssetMonitor(monitorID string) (*AssetMonitor, error)
- func (h *HackCheckClient) GetAssetMonitorSources(monitorID string) ([]Source, error)
- func (h *HackCheckClient) GetDomainMonitor(monitorID string) (*DomainMonitor, error)
- func (h *HackCheckClient) GetDomainMonitorSources(monitorID string) ([]Source, error)
- func (h *HackCheckClient) GetMonitors() (*GetMonitorsResponse, error)
- func (h *HackCheckClient) Search(options *SearchOptions) (*SearchResponse, error)
- func (h *HackCheckClient) TogglePauseAssetMonitor(monitorID string) (*AssetMonitor, error)
- func (h *HackCheckClient) TogglePauseDomainMonitor(monitorID string) (*DomainMonitor, error)
- func (h *HackCheckClient) UpdateAssetMonitor(monitorID string, updateParams *UpdateAssetMonitorParams) (*AssetMonitor, error)
- func (h *HackCheckClient) UpdateDomainMonitor(monitorID string, updateParams *UpdateDomainMonitorParams) (*DomainMonitor, error)
- type HackCheckClientOption
- type MonitorStatus
- type RateLimitError
- type SearchField
- type SearchFilterOptions
- type SearchFilterType
- type SearchOptions
- type SearchPaginationOptions
- type SearchResponse
- type SearchResponsePagination
- type SearchResult
- type Source
- type UpdateAssetMonitorParams
- type UpdateDomainMonitorParams
Constants ¶
View Source
const ( MonitorStatusRunning = iota MonitorStatusPaused MonitorStatusExpired )
View Source
const ( SearchFilterTypeUse = "use" SearchFilterTypeIgnore = "ignore" )
Variables ¶
View Source
var ( EndpointBase = "https://api.hackcheck.io/" EndpointSearch = func(apiKey, field, query string) string { return EndpointBase + "search/" + apiKey + "/" + field + "/" + query } EndpointCheck = func(apiKey, field, query string) string { return EndpointBase + "search/check/" + apiKey + "/" + field + "/" + query } EndpointGetMonitors = func(apiKey string) string { return EndpointBase + "monitors/" + apiKey + "/list" } EndpointGetAssetMonitor = func(apiKey, monitorID string) string { return EndpointBase + "monitors/" + apiKey + "/list/asset/" + monitorID } EndpointGetDomainMonitor = func(apiKey, monitorID string) string { return EndpointBase + "monitors/" + apiKey + "/list/domain/" + monitorID } EndpointGetAssetMonitorSources = func(apiKey, monitorID string) string { return EndpointBase + "monitors/" + apiKey + "/sources/asset/" + monitorID } EndpointGetDomainMonitorSources = func(apiKey, monitorID string) string { return EndpointBase + "monitors/" + apiKey + "/sources/domain/" + monitorID } EndpointUpdateAssetMonitor = func(apiKey, monitorID string) string { return EndpointBase + "monitors/" + apiKey + "/update/asset/" + monitorID } EndpointUpdateDomainMonitor = func(apiKey, monitorID string) string { return EndpointBase + "monitors/" + apiKey + "/update/domain/" + monitorID } EndpointTogglePauseAssetMonitor = func(apiKey, monitorID string) string { return EndpointBase + "monitors/" + apiKey + "/pause/asset/" + monitorID } EndpointTogglePauseDomainMonitor = func(apiKey, monitorID string) string { return EndpointBase + "monitors/" + apiKey + "/pause/domain/" + monitorID } )
View Source
var ( ErrInvalidAPIKey = errors.New("invalid api key") ErrServerError = errors.New("server returned an error") )
Functions ¶
func WithContext ¶
func WithContext(ctx context.Context) func(hc *HackCheckClient)
WithHttp will set the HackCheckClients context
func WithHTTP ¶
func WithHTTP(client *http.Client) func(hc *HackCheckClient)
WithHttp will set the HackCheckClients http client
Types ¶
type AssetMonitor ¶
type AssetMonitor struct { ID string `json:"id"` Status MonitorStatus `json:"status"` Type SearchField `json:"type"` Asset string `json:"asset"` NotificationEmail string `json:"notification_email"` ExpiresSoon bool `json:"expires_soon"` CreatedAt time.Time `json:"created_at"` EndsAt time.Time `json:"ends_at"` }
type CheckOptions ¶
type CheckOptions struct { Field SearchField Query string }
type CheckResponse ¶
type CheckResponse struct {
Found bool `json:"found"`
}
type DomainMonitor ¶
type ErrorResponse ¶
type ErrorResponse struct {
Error string `json:"error"`
}
type GetMonitorsResponse ¶
type GetMonitorsResponse struct { AssetMonitors []AssetMonitor `json:"asset_monitors"` DomainMonitors []DomainMonitor `json:"domain_monitors"` }
type HackCheckClient ¶
type HackCheckClient struct { Apikey string // contains filtered or unexported fields }
func New ¶
func New(apikey string, options ...HackCheckClientOption) *HackCheckClient
func (*HackCheckClient) Check ¶
func (h *HackCheckClient) Check(options *CheckOptions) (bool, error)
func (*HackCheckClient) GetAssetMonitor ¶
func (h *HackCheckClient) GetAssetMonitor(monitorID string) (*AssetMonitor, error)
func (*HackCheckClient) GetAssetMonitorSources ¶
func (h *HackCheckClient) GetAssetMonitorSources(monitorID string) ([]Source, error)
func (*HackCheckClient) GetDomainMonitor ¶
func (h *HackCheckClient) GetDomainMonitor(monitorID string) (*DomainMonitor, error)
func (*HackCheckClient) GetDomainMonitorSources ¶
func (h *HackCheckClient) GetDomainMonitorSources(monitorID string) ([]Source, error)
func (*HackCheckClient) GetMonitors ¶
func (h *HackCheckClient) GetMonitors() (*GetMonitorsResponse, error)
func (*HackCheckClient) Search ¶
func (h *HackCheckClient) Search(options *SearchOptions) (*SearchResponse, error)
func (*HackCheckClient) TogglePauseAssetMonitor ¶
func (h *HackCheckClient) TogglePauseAssetMonitor(monitorID string) (*AssetMonitor, error)
func (*HackCheckClient) TogglePauseDomainMonitor ¶
func (h *HackCheckClient) TogglePauseDomainMonitor(monitorID string) (*DomainMonitor, error)
func (*HackCheckClient) UpdateAssetMonitor ¶
func (h *HackCheckClient) UpdateAssetMonitor(monitorID string, updateParams *UpdateAssetMonitorParams) (*AssetMonitor, error)
func (*HackCheckClient) UpdateDomainMonitor ¶
func (h *HackCheckClient) UpdateDomainMonitor(monitorID string, updateParams *UpdateDomainMonitorParams) (*DomainMonitor, error)
type HackCheckClientOption ¶
type HackCheckClientOption func(*HackCheckClient)
type MonitorStatus ¶
type MonitorStatus int
type RateLimitError ¶
type RateLimitError struct { Limit int RemainingRequests int // contains filtered or unexported fields }
func (*RateLimitError) Error ¶
func (e *RateLimitError) Error() string
type SearchField ¶
type SearchField = string
const ( SearchFieldEmail SearchField = "email" SearchFieldUsername SearchField = "username" SearchFieldFullName SearchField = "full_name" SearchFieldPassword SearchField = "password" SearchFieldIPAddress SearchField = "ip_address" SearchFieldPhoneNumber SearchField = "phone_number" SearchFieldDomain SearchField = "domain" SearchFieldHash SearchField = "hash" )
type SearchFilterOptions ¶
type SearchFilterOptions struct { Type SearchFilterType Databases []string }
type SearchFilterType ¶
type SearchFilterType = string
type SearchOptions ¶
type SearchOptions struct { Field SearchField Query string Filter *SearchFilterOptions Pagination *SearchPaginationOptions }
type SearchPaginationOptions ¶
type SearchResponse ¶
type SearchResponse struct { Databases int `json:"databases"` FirstSeen string `json:"first_seen"` LastSeen string `json:"last_seen"` Results []SearchResult `json:"results"` Pagination *SearchResponsePagination `json:"pagination"` }
type SearchResult ¶
Click to show internal directories.
Click to hide internal directories.