aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/corpix/uarand/uarand.go
diff options
context:
space:
mode:
authorMichael Muré <batolettre@gmail.com>2018-08-16 18:21:36 +0200
committerMichael Muré <batolettre@gmail.com>2018-08-16 18:22:00 +0200
commit1e43a6a7e35b32a95b0c533d8b2d31f242e72463 (patch)
treea52a07b97ca5daae0ca3576e3f3fe0e565818493 /vendor/github.com/corpix/uarand/uarand.go
parentf510e43418aef31e8521d346abdcda6c38f34eaf (diff)
downloadgit-bug-1e43a6a7e35b32a95b0c533d8b2d31f242e72463.tar.gz
add a new main to generate random bugs
Diffstat (limited to 'vendor/github.com/corpix/uarand/uarand.go')
-rw-r--r--vendor/github.com/corpix/uarand/uarand.go41
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}
+}