config

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	VERSION                 = "0.4.1"
	DefaultUserAgent        = "Dodo/" + VERSION
	ProxyCheckURL           = "https://www.google.com"
	DefaultMethod           = "GET"
	DefaultTimeout          = 10000 // Milliseconds (10 seconds)
	DefaultDodosCount       = 1
	DefaultRequestCount     = 1000
	MaxDodosCountForProxies = 20 // Max dodos count for proxy check
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CLIConfig

type CLIConfig struct {
	Config
	Yes        bool   `json:"yes" validate:"omitempty"`
	ConfigFile string `validation_name:"config-file" validate:"omitempty,filepath"`
}

func (*CLIConfig) MergeConfigs

func (config *CLIConfig) MergeConfigs(newConfig *CLIConfig)

type Config

type Config struct {
	Method       string `json:"method" validate:"http_method"` // custom validations: http_method
	URL          string `json:"url" validate:"http_url,required"`
	Timeout      int    `json:"timeout" validate:"gte=1,lte=100000"`
	DodosCount   int    `json:"dodos_count" validate:"gte=1"`
	RequestCount int    `json:"request_count" validation_name:"request-count" validate:"gte=1"`
}

func (*Config) MergeConfigs

func (config *Config) MergeConfigs(newConfig *Config)

func (*Config) SetDefaults

func (config *Config) SetDefaults()

type IConfig

type IConfig interface {
	MergeConfigs(newConfig IConfig) IConfig
}

type JSONConfig

type JSONConfig struct {
	Config
	Params  map[string]string `json:"params"`
	Headers map[string]string `json:"headers"`
	Cookies map[string]string `json:"cookies"`
	Proxies []Proxy           `json:"proxies" validate:"dive"`
	Body    string            `json:"body"`
}

func (*JSONConfig) MergeConfigs

func (config *JSONConfig) MergeConfigs(newConfig *JSONConfig)

type Proxy

type Proxy struct {
	URL      string `json:"url" validate:"required,proxy_url"`
	Username string `json:"username"`
	Password string `json:"password"`
}

type RequestConfig

type RequestConfig struct {
	Method       string
	URL          *url.URL
	Timeout      time.Duration
	DodosCount   int
	RequestCount int
	Params       map[string]string
	Headers      map[string]string
	Cookies      map[string]string
	Proxies      []Proxy
	Body         string
	Yes          bool
}

func (*RequestConfig) GetValidDodosCountForProxies

func (config *RequestConfig) GetValidDodosCountForProxies() int

func (*RequestConfig) GetValidDodosCountForRequests

func (config *RequestConfig) GetValidDodosCountForRequests() int

func (*RequestConfig) Print

func (config *RequestConfig) Print()

Jump to

Keyboard shortcuts

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