diff options
Diffstat (limited to 'vendor/github.com/corpix/uarand/uarand.go')
-rw-r--r-- | vendor/github.com/corpix/uarand/uarand.go | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/vendor/github.com/corpix/uarand/uarand.go b/vendor/github.com/corpix/uarand/uarand.go new file mode 100644 index 00000000..04f9247c --- /dev/null +++ b/vendor/github.com/corpix/uarand/uarand.go @@ -0,0 +1,41 @@ +package uarand + +import ( + "math/rand" + "time" +) + +var ( + // Default is the UARand with default settings. + Default = New( + rand.New( + rand.NewSource(time.Now().UnixNano()), + ), + ) +) + +// Randomizer represents some entity which could provide us an entropy. +type Randomizer interface { + Seed(n int64) + Intn(n int) int +} + +// UARand describes the user agent randomizer settings. +type UARand struct { + Randomizer +} + +// GetRandom returns a random user agent from UserAgents slice. +func (u *UARand) GetRandom() string { + return UserAgents[u.Intn(len(UserAgents))] +} + +// GetRandom returns a random user agent from UserAgents slice. +// This version is driven by Default configuration. +func GetRandom() string { + return Default.GetRandom() +} + +func New(r Randomizer) *UARand { + return &UARand{r} +} |