示例#1
0
/*        protected virtual TResult ConvertResponse(T response)
 *      {
 *          return (TResult)Convert.ChangeType(response, typeof(TResult));
 *      }*/

        public TResult Execute()
        {
            Validate();

            var data = _proxy.Execute(Uri(), Values(), Files(), Method);

            var result = default(TResult);

            HandleError(data);

            try
            {
                var response = ResponseToObject <T>(data);
                result = ConvertResponse(response);
            }
            catch (System.Runtime.Serialization.SerializationException e)
            {
                //Problem z prasowaniem json'a
                throw new HostException(e.Message + " /" + Uri(), HostException.E_JSON_DECODE);
            }

            data.Close();

            return(result);
        }
示例#2
0
        public async Task ConcreteApiMethod()
        {
            var dto = new ConcreteRequestDto
            {
                ConcreteString = "Just a string",
                ConcreteLong   = 124124,
                ConcreteArray  = new string[] { "2", "3" },
                ConcreteList   = new List <ConcreteRequestItemDto>
                {
                    new ConcreteRequestItemDto
                    {
                        ConcreteString = "str"
                    }
                },
                ConcreteItem = new ConcreteRequestItemDto
                {
                    ConcreteLong = 232
                }
            };

            var result = await _concreteProxyService.Execute(x => x.ConcreteRequestMethod(dto));

            await _concreteProxyService.Execute(x => x.ConcreteTaskMethod());
        }
示例#3
0
        public override async Task Invoke(IOwinContext context)
        {
            if (context.Request.Path.Value.StartsWith(RoutePath, StringComparison.InvariantCultureIgnoreCase))
            {
                try
                {
                    _proxy.Execute(context.Request, context.Response);
                    return;
                }
                catch (Exception e)
                {
                    Logger.WriteError("Unknown error during proxy calling", e);
                }
            }

            await Next.Invoke(context);
        }
示例#4
0
        public void SendToEtap(IProxy proxy)
        {
            RestRequest request = new RestRequest("testframework/testStatus");

            request.AddParameter("id", GetShortTestCaseId(id));
            if (!string.IsNullOrWhiteSpace(description))
            {
                if (!string.IsNullOrWhiteSpace(DescriptionPrefix))
                {
                    request.AddParameter("description", DescriptionPrefix + description);
                }
                else
                {
                    request.AddParameter("description", description);
                }
            }
            request.AddParameter("status", result.Status);
            if (!string.IsNullOrWhiteSpace(result.Message))
            {
                request.AddParameter("message", result.Message);
            }
            if (!string.IsNullOrWhiteSpace(categories))
            {
                request.AddParameter("categories", categories);
            }
            if (!string.IsNullOrWhiteSpace(capability))
            {
                request.AddParameter("capability", capability);
            }
            if (properties != null)
            {
                foreach (DictionaryEntry de in properties)
                {
                    string key = de.Key.ToString();
                    if (!key.Equals("Capability", StringComparison.OrdinalIgnoreCase))
                    {
                        request.AddParameter(key, de.Value);
                    }
                }
            }
            proxy.Execute <NullResponse>(request);
        }
示例#5
0
 public void SendToEtap(IProxy proxy)
 {
     RestRequest request = new RestRequest("testframework/testStatus");
     request.AddParameter("id", GetShortTestCaseId(id));
     if (!string.IsNullOrWhiteSpace(description))
     {
         if (!string.IsNullOrWhiteSpace(DescriptionPrefix))
             request.AddParameter("description", DescriptionPrefix + description);
         else
             request.AddParameter("description", description);
     }
     request.AddParameter("status", result.Status);
     if (!string.IsNullOrWhiteSpace(result.Message))
     {
         request.AddParameter("message", result.Message);
     }
     if (!string.IsNullOrWhiteSpace(categories))
     {
         request.AddParameter("categories", categories);
     }
     if (!string.IsNullOrWhiteSpace(capability))
     {
         request.AddParameter("capability", capability);
     }
     if (properties != null)
     {
         foreach (DictionaryEntry de in properties)
         {
             string key = de.Key.ToString();
             if (!key.Equals("Capability", StringComparison.OrdinalIgnoreCase))
             {
                 request.AddParameter(key, de.Value);
             }
         }
     }
     proxy.Execute<NullResponse>(request);
 }