diff options
Diffstat (limited to 'internal/httpclient/client.go')
-rw-r--r-- | internal/httpclient/client.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/internal/httpclient/client.go b/internal/httpclient/client.go index 1a1f5e53b..55b98bbb6 100644 --- a/internal/httpclient/client.go +++ b/internal/httpclient/client.go @@ -28,6 +28,9 @@ import ( "time" ) +// ErrInvalidRequest is returned if a given HTTP request is invalid and cannot be performed. +var ErrInvalidRequest = errors.New("invalid http request") + // ErrReservedAddr is returned if a dialed address resolves to an IP within a blocked or reserved net. var ErrReservedAddr = errors.New("dial within blocked / reserved IP range") @@ -164,6 +167,11 @@ func (c *Client) Do(req *http.Request) (*http.Response, error) { defer func() { <-c.queue }() } + // Firstly, ensure this is a valid request + if err := ValidateRequest(req); err != nil { + return nil, err + } + // Perform the HTTP request rsp, err := c.client.Do(req) if err != nil { |