HTTP Clients
Client Helper
A helper can prepare requests consistently without sending them.
Client Helper
client_helper.go
package main
import "fmt"
type apiRequest struct {
Method string
URL string
Headers map[string]string
}
func buildAPIRequest(path string, token string) apiRequest {
url := "https://api.example.test" + path
headers := map[string]string{
"Authorization": "Bearer " + token,
}
return apiRequest{Method: "GET", URL: url, Headers: headers}
}
func main() {
var path =
request := buildAPIRequest(path, "demo-token")
fmt.Println("path=", path)
fmt.Println("method=", request.Method)
fmt.Println("url=", request.URL)
fmt.Println("hasAuth=", request.Headers["Authorization"] != "")
}
package main
import "fmt"
type apiRequest struct {
Method string
URL string
Headers map[string]string
}
func buildAPIRequest(path string, token string) apiRequest {
url := "https://api.example.test" + path
headers := map[string]string{
"Authorization": "Bearer " + token,
}
return apiRequest{Method: "GET", URL: url, Headers: headers}
}
func main() {
var path =
request := buildAPIRequest(path, "demo-token")
fmt.Println("path=", path)
fmt.Println("method=", request.Method)
fmt.Println("url=", request.URL)
fmt.Println("hasAuth=", request.Headers["Authorization"] != "")
}
package main
import "fmt"
type apiRequest struct {
Method string
URL string
Headers map[string]string
}
func buildAPIRequest(path string, token string) apiRequest {
url := "https://api.example.test" + path
headers := map[string]string{
"Authorization": "Bearer " + token,
}
return apiRequest{Method: "GET", URL: url, Headers: headers}
}
func main() {
var path =
request := buildAPIRequest(path, "demo-token")
fmt.Println("path=", path)
fmt.Println("method=", request.Method)
fmt.Println("url=", request.URL)
fmt.Println("hasAuth=", request.Headers["Authorization"] != "")
}
helper function
A small helper can centralize URL, method, and header setup for client code.