angular.module('portainer.agent').factory('AgentPing', [ '$resource', 'API_ENDPOINT_ENDPOINTS', 'EndpointProvider', '$q', function AgentPingFactory($resource, API_ENDPOINT_ENDPOINTS, EndpointProvider, $q) { 'use strict'; return $resource( API_ENDPOINT_ENDPOINTS + '/:endpointId/docker/ping', { endpointId: EndpointProvider.endpointID, }, { ping: { method: 'GET', interceptor: { response: function versionInterceptor(response) { var instance = response.resource; var version = response.headers('Portainer-Agent-Api-Version') || 1; instance.version = Number(version); return instance; }, responseError: function versionResponseError(error) { // 404 - agent is up - set version to 1 if (error.status === 404) { return { version: 1 }; } return $q.reject(error); }, }, }, } ); }, ]);