// POST: api/Results
        public async Task <IHttpActionResult> Post([FromBody] string value)
        {
            Uri uri = null;

            try
            {
                uri = new Uri(value);
                IHttpActionResult response;

                var result = repository.GetResultWithDetails(uri.AbsoluteUri);
                if (!taskGuard.AddTask(uri.AbsoluteUri))
                {
                    return(this.Status((int)HttpStatusCode.ServiceUnavailable,
                                       "Server is busy"));
                }

                if (result != null)
                {
                    response = Process(result);
                }
                else
                {
                    response = await Process(uri);
                }

                if (response is OkResult ||
                    response is ResponseMessageResult responseMessage &&
                    responseMessage.Response.StatusCode == HttpStatusCode.OK)
                {
                    return(Json(repository.GetResults().Select(x => new TestResultDTO(x))));
                }
                else
                {
                    return(response);
                }
            }