public async Task <FeedAcknowledgement> UploadFeed(System.IO.Stream file, V3.Payload.FeedType feedType)
        {
            // to avoid deadlock if this method is executed synchronously
            await new ContextRemover();

            Base.Http.Request request = CreateRequest();
            request.EndpointUri = "/v3/feeds";

            request.QueryParams.Add("feedType", feedType.ToString());
            request.AddMultipartContent(file);

            Base.Http.IResponse response = await client.PostAsync(request);

            FeedAcknowledgement result = await ProcessResponse <FeedAcknowledgement>(response);

            return(result);
        }
        public async Task <FeedAcknowledgement> UploadFeed <T>(T payload, V3.Payload.FeedType feedType)
        {
            // to avoid deadlock if this method is executed synchronously
            await new ContextRemover();

            var request = CreateRequest();

            request.EndpointUri = "/v3/feeds";

            request.QueryParams.Add("feedType", feedType.ToString());
            request.AddPayload(payload);

            var response = await client.PostAsync(request);

            var result = await ProcessResponse <FeedAcknowledgement>(response);

            return(result);
        }