public async Task <DC_CreateTaskResponse> CreateTask(DC_CreateTaskRequest createTaskRequest)
        {
            UriBuilder uriBuilder = new UriBuilder(this.Client.CloudTarget);

            uriBuilder.Path = $"/v3/apps/{createTaskRequest.AppGuid}/tasks";
            var client = this.GetHttpClient();

            client.Uri    = uriBuilder.Uri;
            client.Method = HttpMethod.Post;
            var authHeader = await BuildAuthenticationHeader();

            if (!string.IsNullOrWhiteSpace(authHeader.Key))
            {
                if (client.Headers.ContainsKey(authHeader.Key))
                {
                    client.Headers[authHeader.Key] = authHeader.Value;
                }
                else
                {
                    client.Headers.Add(authHeader);
                }
            }
            //client.ContentType = "application/x-www-form-urlencoded";
            //client.Content = ((string)JsonConvert.SerializeObject(createTaskRequest)).ConvertToStream();
            var           jsonContent          = JsonConvert.SerializeObject(createTaskRequest);
            StringContent stringContent        = new StringContent(jsonContent, Encoding.UTF8, "application/json");
            var           expectedReturnStatus = 200;
            var           response             = await this.SendAsync(client, expectedReturnStatus, stringContent);

            return(Utilities.DeserializeJson <DC_CreateTaskResponse>(await response.ReadContentAsStringAsync()));
        }
Example #2
0
        public async Task <DC_CreateTaskResponse> CreateTask(DC_CreateTaskRequest createTaskRequest)
        {
            UriBuilder uriBuilder = new UriBuilder(this.Client.CloudTarget);

            uriBuilder.Path = $"/v3/apps/{createTaskRequest.AppGuid}/tasks";
            var client = this.GetHttpClient();

            client.Uri    = uriBuilder.Uri;
            client.Method = HttpMethod.Post;

            var           jsonContent          = JsonConvert.SerializeObject(createTaskRequest);
            StringContent stringContent        = new StringContent(jsonContent, Encoding.UTF8, "application/json");
            var           expectedReturnStatus = 200;
            var           response             = await this.SendAsync(client, expectedReturnStatus, stringContent);

            return(Utilities.DeserializeJson <DC_CreateTaskResponse>(await response.Content.ReadAsStringAsync()));
        }
Example #3
0
        public async Task <DC_CreateTaskResponse> CreateTaskAsync(Guid appGuid, string taskName, string startCommand, params string[] commandArguments)
        {
            try
            {
                var taskCommand = $"{startCommand}{string.Join(" ", commandArguments)}";
                var request     = new DC_CreateTaskRequest
                {
                    AppGuid = appGuid.ToString(),
                    command = taskCommand,
                    name    = taskName
                };
                var response = await _cfV3Client.TaskResource.CreateTask(request);

                return(response);
            }
            catch (Exception ex)
            {
                _logger.LogError($"Error {ex.Message} Stack Trac {ex.StackTrace}");
                throw;
            }
        }