diff --git a/api/http/handler/endpointedge/endpoint_edgestatus_inspect.go b/api/http/handler/endpointedge/endpoint_edgestatus_inspect.go index 90865021d..e88b53823 100644 --- a/api/http/handler/endpointedge/endpoint_edgestatus_inspect.go +++ b/api/http/handler/endpointedge/endpoint_edgestatus_inspect.go @@ -77,14 +77,14 @@ func (handler *Handler) endpointEdgeStatusInspect(w http.ResponseWriter, r *http if endpoint.EdgeID == "" { edgeIdentifier := r.Header.Get(portainer.PortainerAgentEdgeIDHeader) endpoint.EdgeID = edgeIdentifier - - agentPlatform, agentPlatformErr := parseAgentPlatform(r) - if agentPlatformErr != nil { - return httperror.BadRequest("agent platform header is not valid", err) - } - endpoint.Type = agentPlatform } + agentPlatform, agentPlatformErr := parseAgentPlatform(r) + if agentPlatformErr != nil { + return httperror.BadRequest("agent platform header is not valid", err) + } + endpoint.Type = agentPlatform + version := r.Header.Get(portainer.PortainerAgentHeader) endpoint.Agent.Version = version diff --git a/api/http/handler/endpointedge/endpoint_edgestatus_inspect_test.go b/api/http/handler/endpointedge/endpoint_edgestatus_inspect_test.go index f13b2d2e5..30a0ffbe0 100644 --- a/api/http/handler/endpointedge/endpoint_edgestatus_inspect_test.go +++ b/api/http/handler/endpointedge/endpoint_edgestatus_inspect_test.go @@ -57,7 +57,7 @@ var endpointTestCases = []endpointTestCase{ portainer.EndpointRelation{ EndpointID: 2, }, - http.StatusBadRequest, + http.StatusForbidden, }, { portainer.Endpoint{ @@ -194,7 +194,9 @@ func TestWithEndpoints(t *testing.T) { if err != nil { t.Fatal("request error:", err) } - req.Header.Set(portainer.PortainerAgentEdgeIDHeader, "edge-id") + + req.Header.Set(portainer.PortainerAgentEdgeIDHeader, test.endpoint.EdgeID) + req.Header.Set(portainer.HTTPResponseAgentPlatform, "1") rec := httptest.NewRecorder() handler.ServeHTTP(rec, req) @@ -239,6 +241,7 @@ func TestLastCheckInDateIncreases(t *testing.T) { t.Fatal("request error:", err) } req.Header.Set(portainer.PortainerAgentEdgeIDHeader, "edge-id") + req.Header.Set(portainer.HTTPResponseAgentPlatform, "1") rec := httptest.NewRecorder() handler.ServeHTTP(rec, req) @@ -355,6 +358,7 @@ func TestEdgeStackStatus(t *testing.T) { t.Fatal("request error:", err) } req.Header.Set(portainer.PortainerAgentEdgeIDHeader, "edge-id") + req.Header.Set(portainer.HTTPResponseAgentPlatform, "1") rec := httptest.NewRecorder() handler.ServeHTTP(rec, req) @@ -424,6 +428,7 @@ func TestEdgeJobsResponse(t *testing.T) { t.Fatal("request error:", err) } req.Header.Set(portainer.PortainerAgentEdgeIDHeader, "edge-id") + req.Header.Set(portainer.HTTPResponseAgentPlatform, "1") rec := httptest.NewRecorder() handler.ServeHTTP(rec, req)