refactor: update HTTP request handling and improve documentation

- Replaced http.NewRequest with http.NewRequestWithContext in client tests for better context management.
- Updated method names and comments for clarity, including renaming GetWsdlUrl to GetWsdlURL and StorageUri to StorageURI for consistency.
- Enhanced comments across various files to provide clearer descriptions of functionality and ONVIF specifications.
This commit is contained in:
0x524a
2025-12-02 08:41:37 -05:00
parent 9e3b5e0170
commit 96ac509c24
32 changed files with 248 additions and 184 deletions
+6 -4
View File
@@ -50,6 +50,8 @@ func (c *Client) GetDeviceInformation(ctx context.Context) (*DeviceInformation,
}
// GetCapabilities retrieves device capabilities.
//
//nolint:funlen // GetCapabilities has many statements due to parsing multiple service capabilities
func (c *Client) GetCapabilities(ctx context.Context) (*Capabilities, error) {
type GetCapabilities struct {
XMLName xml.Name `xml:"tds:GetCapabilities"`
@@ -110,8 +112,8 @@ func (c *Client) GetCapabilities(ctx context.Context) (*Capabilities, error) {
XAddr string `xml:"XAddr"`
StreamingCapabilities *struct {
RTPMulticast bool `xml:"RTPMulticast"`
RTP_TCP bool `xml:"RTP_TCP"`
RTP_RTSP_TCP bool `xml:"RTP_RTSP_TCP"`
RTPTCP bool `xml:"RTP_TCP"`
RTPRTSPTCP bool `xml:"RTP_RTSP_TCP"`
} `xml:"StreamingCapabilities"`
} `xml:"Media"`
PTZ *struct {
@@ -214,8 +216,8 @@ func (c *Client) GetCapabilities(ctx context.Context) (*Capabilities, error) {
if resp.Capabilities.Media.StreamingCapabilities != nil {
capabilities.Media.StreamingCapabilities = &StreamingCapabilities{
RTPMulticast: resp.Capabilities.Media.StreamingCapabilities.RTPMulticast,
RTP_TCP: resp.Capabilities.Media.StreamingCapabilities.RTP_TCP,
RTP_RTSP_TCP: resp.Capabilities.Media.StreamingCapabilities.RTP_RTSP_TCP,
RTPTCP: resp.Capabilities.Media.StreamingCapabilities.RTPTCP,
RTPRTSPTCP: resp.Capabilities.Media.StreamingCapabilities.RTPRTSPTCP,
}
}
}