hosterrorscache

package
v3.0.2 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2023 License: MIT Imports: 8 Imported by: 7

Documentation

Index

Constants

View Source
const DefaultMaxHostsCount = 10000

Variables

This section is empty.

Functions

This section is empty.

Types

type Cache

type Cache struct {
	MaxHostError int

	TrackError []string
	// contains filtered or unexported fields
}

Cache is a cache for host based errors. It allows skipping certain hosts based on an error threshold.

It uses an LRU cache internally for skipping unresponsive hosts that remain so for a duration.

func New

func New(maxHostError, maxHostsCount int, trackError []string) *Cache

New returns a new host max errors cache

func (*Cache) Check

func (c *Cache) Check(value string) bool

Check returns true if a host should be skipped as it has been unresponsive for a certain number of times.

The value can be many formats -

  • URL: https?:// type
  • Host:port type
  • host type

func (*Cache) Close

func (c *Cache) Close()

Close closes the host errors cache

func (*Cache) MarkFailed

func (c *Cache) MarkFailed(value string, err error)

MarkFailed marks a host as failed previously

func (*Cache) SetVerbose

func (c *Cache) SetVerbose(verbose bool)

SetVerbose sets the cache to log at verbose level

type CacheInterface

type CacheInterface interface {
	SetVerbose(verbose bool)            // log verbosely
	Close()                             // close the cache
	Check(value string) bool            // return true if the host should be skipped
	MarkFailed(value string, err error) // record a failure (and cause) for the host
}

CacheInterface defines the signature of the hosterrorscache so that users of Nuclei as embedded lib may implement their own cache

Jump to

Keyboard shortcuts

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