pkg/random/http.go (72 lines of code) (raw):

package random import ( "math/rand" "net/http" ) var ( httpMethods = [...]string{ http.MethodConnect, http.MethodDelete, http.MethodGet, http.MethodPost, http.MethodPut, } httpStatuses = [...]int{ http.StatusContinue, http.StatusOK, http.StatusCreated, http.StatusAccepted, http.StatusNoContent, http.StatusPartialContent, http.StatusMovedPermanently, http.StatusFound, http.StatusNotModified, http.StatusBadRequest, http.StatusUnauthorized, http.StatusForbidden, http.StatusNotFound, http.StatusMethodNotAllowed, http.StatusRequestTimeout, http.StatusConflict, http.StatusGone, http.StatusRequestEntityTooLarge, http.StatusTeapot, http.StatusInternalServerError, http.StatusNotImplemented, http.StatusBadGateway, http.StatusGatewayTimeout, http.StatusHTTPVersionNotSupported, } httpVersions = [...]string{ "HTTP/1.0", "HTTP/1.1", "HTTP/2", } userAgents = [...]string{ "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0", "Mozilla/5.0 (Macintosh; Intel Mac OS X 12.3; rv:98.0) Gecko/20100101 Firefox/98.0", "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:98.0) Gecko/20100101 Firefox/98.0", "Mozilla/5.0 (iPhone; CPU iPhone OS 12_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/98.0 Mobile/15E148 Safari/605.1.15", "Mozilla/5.0 (Android 12; Mobile; rv:68.0) Gecko/68.0 Firefox/98.0", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36", "Mozilla/5.0 (Macintosh; Intel Mac OS X 12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36", "Mozilla/5.0 (iPhone; CPU iPhone OS 15_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/99.0.4844.59 Mobile/15E148 Safari/604.1", "Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.88 Mobile Safari/537.36", "Mozilla/5.0 (Macintosh; Intel Mac OS X 12_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15", "Mozilla/5.0 (iPhone; CPU iPhone OS 15_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Mobile/15E148 Safari/604.1", "Mozilla/5.0 (iPad; CPU OS 15_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Mobile/15E148 Safari/604.1", } ) // HTTPMethod returns a random HTTP method. func HTTPMethod() string { return httpMethods[rand.Intn(len(httpMethods))] } // HTTPStatus returns a random HTTP status code. func HTTPStatus() int { return httpStatuses[rand.Intn(len(httpStatuses))] } // HTTPVersion returns a random HTTP version. func HTTPVersion() string { return httpVersions[rand.Intn(len(httpVersions))] } // UserAgent returns a random user agent string. func UserAgent() string { return userAgents[rand.Intn(len(userAgents))] }