diff --git a/Device.go b/Device.go index 6fa86b6..c7b0cce 100644 --- a/Device.go +++ b/Device.go @@ -288,7 +288,9 @@ func (dev Device) callMethodDo(endpoint string, method interface{}) (*http.Respo servResp, err := networking.SendSoap(dev.params.HttpClient, endpoint, soap.String()) if err != nil { // Close server response body to reuse the connection - servResp.Body.Close() + if servResp != nil { + servResp.Body.Close() + } servResp, err = networking.SendSoapWithDigest(dev.params.HttpClient, endpoint, soap.String(), dev.params.Username, dev.params.Password) } @@ -347,7 +349,9 @@ func (dev Device) SendSoap(endpoint string, xmlRequestBody string) (*http.Respon servResp, err := networking.SendSoap(dev.params.HttpClient, endpoint, soap.String()) if err != nil { // Close server response body to reuse the connection - servResp.Body.Close() + if servResp != nil { + servResp.Body.Close() + } servResp, err = networking.SendSoapWithDigest(dev.params.HttpClient, endpoint, soap.String(), dev.params.Username, dev.params.Password) }