Contain authentication & request building helpers

This commit is contained in:
2023-12-08 16:01:34 -06:00
parent 365b9b253a
commit 6d7304c395

View File

@@ -1,11 +1,13 @@
package banner package banner
import ( import (
"io"
"math/rand"
"net/http" "net/http"
"strings" "strings"
) )
func buildURL(path string, params map[string]string) string { func BuildRequestWithBody(method string, path string, params map[string]string, body io.Reader) *http.Request {
// Builds a URL for the given path and parameters // Builds a URL for the given path and parameters
url := baseURL + path url := baseURL + path
@@ -22,7 +24,13 @@ func buildURL(path string, params map[string]string) string {
} }
} }
return url request, _ := http.NewRequest(method, url, body)
AddUserAgent(request)
return request
}
func BuildRequest(method string, path string, params map[string]string) *http.Request {
return BuildRequestWithBody(method, path, params, nil)
} }
func AddUserAgent(req *http.Request) { func AddUserAgent(req *http.Request) {
@@ -38,3 +46,13 @@ func ContainsContentType(header string, search string) bool {
} }
return false return false
} }
const letterBytes = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
func RandomString(n int) string {
b := make([]byte, n)
for i := range b {
b[i] = letterBytes[rand.Intn(len(letterBytes))]
}
return string(b)
}