mirror of
https://github.com/Xevion/banner.git
synced 2025-12-11 08:06:37 -06:00
Contain authentication & request building helpers
This commit is contained in:
22
helpers.go
22
helpers.go
@@ -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)
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user