|
@@ -27,11 +27,15 @@ import (
|
|
|
"net/http"
|
|
"net/http"
|
|
|
"strings"
|
|
"strings"
|
|
|
|
|
|
|
|
|
|
+ "github.com/docker/compose/v2/internal"
|
|
|
"github.com/docker/compose/v2/internal/memnet"
|
|
"github.com/docker/compose/v2/internal/memnet"
|
|
|
"github.com/r3labs/sse"
|
|
"github.com/r3labs/sse"
|
|
|
"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
|
|
"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|
|
+// identify this client in the logs
|
|
|
|
|
+var userAgent = "compose/" + internal.Version
|
|
|
|
|
+
|
|
|
// Client for integration with Docker Desktop features.
|
|
// Client for integration with Docker Desktop features.
|
|
|
type Client struct {
|
|
type Client struct {
|
|
|
apiEndpoint string
|
|
apiEndpoint string
|
|
@@ -76,6 +80,7 @@ func (c *Client) Ping(ctx context.Context) (*PingResponse, error) {
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return nil, err
|
|
return nil, err
|
|
|
}
|
|
}
|
|
|
|
|
+ req.Header.Set("User-Agent", userAgent)
|
|
|
resp, err := c.client.Do(req)
|
|
resp, err := c.client.Do(req)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return nil, err
|
|
return nil, err
|
|
@@ -105,6 +110,7 @@ func (c *Client) FeatureFlags(ctx context.Context) (FeatureFlagResponse, error)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return nil, err
|
|
return nil, err
|
|
|
}
|
|
}
|
|
|
|
|
+ req.Header.Set("User-Agent", userAgent)
|
|
|
resp, err := c.client.Do(req)
|
|
resp, err := c.client.Do(req)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return nil, err
|
|
return nil, err
|
|
@@ -135,6 +141,7 @@ func (c *Client) GetFileSharesConfig(ctx context.Context) (*GetFileSharesConfigR
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return nil, err
|
|
return nil, err
|
|
|
}
|
|
}
|
|
|
|
|
+ req.Header.Set("User-Agent", userAgent)
|
|
|
resp, err := c.client.Do(req)
|
|
resp, err := c.client.Do(req)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return nil, err
|
|
return nil, err
|
|
@@ -170,6 +177,7 @@ func (c *Client) CreateFileShare(ctx context.Context, r CreateFileShareRequest)
|
|
|
return nil, err
|
|
return nil, err
|
|
|
}
|
|
}
|
|
|
req.Header.Set("Content-Type", "application/json")
|
|
req.Header.Set("Content-Type", "application/json")
|
|
|
|
|
+ req.Header.Set("User-Agent", userAgent)
|
|
|
resp, err := c.client.Do(req)
|
|
resp, err := c.client.Do(req)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return nil, err
|
|
return nil, err
|
|
@@ -212,6 +220,7 @@ func (c *Client) ListFileShares(ctx context.Context) ([]FileShareSession, error)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return nil, err
|
|
return nil, err
|
|
|
}
|
|
}
|
|
|
|
|
+ req.Header.Set("User-Agent", userAgent)
|
|
|
resp, err := c.client.Do(req)
|
|
resp, err := c.client.Do(req)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return nil, err
|
|
return nil, err
|
|
@@ -236,6 +245,7 @@ func (c *Client) DeleteFileShare(ctx context.Context, id string) error {
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return err
|
|
return err
|
|
|
}
|
|
}
|
|
|
|
|
+ req.Header.Set("User-Agent", userAgent)
|
|
|
resp, err := c.client.Do(req)
|
|
resp, err := c.client.Do(req)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return err
|
|
return err
|
|
@@ -268,6 +278,7 @@ func (c *Client) StreamFileShares(ctx context.Context) (<-chan EventMessage[[]Fi
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return nil, err
|
|
return nil, err
|
|
|
}
|
|
}
|
|
|
|
|
+ req.Header.Set("User-Agent", userAgent)
|
|
|
resp, err := c.client.Do(req)
|
|
resp, err := c.client.Do(req)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return nil, err
|
|
return nil, err
|