Example #1
0
        public async Task <FetchStreamResponse> FetchStreamAsync(FetchStreamRequest model)
        {
            try
            {
                string        json          = JsonConvert.SerializeObject(model);
                StringContent stringContent = new StringContent(json, Encoding.Default, "application/json");

                var result = await client.PostAsync(API_VERSION + "/fetchStream", stringContent);

                if (result.StatusCode == HttpStatusCode.Unauthorized)
                {
                    return(new FetchStreamResponse
                    {
                        Success = false,
                        Errors = new List <string> {
                            "Unauthorized. Please check your API Key and API Secret."
                        }
                    });
                }
                var jsonResponse = await result.Content.ReadAsStringAsync();

                var response = JsonConvert.DeserializeObject <FetchStreamResponse>(jsonResponse);

                return(response);
            }
            catch (Exception e)
            {
                var ex = new Image4ioException("There is an error while fetching an stream", e);
                throw ex;
            }
        }
Example #2
0
        public async Task <DeleteStreamResponse> DeleteStreamAsync(DeleteStreamRequest model)
        {
            try
            {
                var request = new HttpRequestMessage()
                {
                    Method     = HttpMethod.Delete,
                    RequestUri = new Uri(BASE_ADDRESS + "/" + API_VERSION + "/deleteStream"),
                    Content    = new StringContent(JsonConvert.SerializeObject(model), Encoding.Default, "application/json")
                };

                var result = await client.SendAsync(request);

                if (result.StatusCode == HttpStatusCode.Unauthorized)
                {
                    return(new DeleteStreamResponse
                    {
                        Success = false,
                        Errors = new List <string> {
                            "Unauthorized. Please check your API Key and API Secret."
                        }
                    });
                }
                var jsonResponse = await result.Content.ReadAsStringAsync();

                var response = JsonConvert.DeserializeObject <DeleteStreamResponse>(jsonResponse);

                return(response);
            }
            catch (Exception e)
            {
                var ex = new Image4ioException("There is an error while deleting a stream", e);
                throw ex;
            }
        }
Example #3
0
        public async Task <StreamResponse> GetStreamAsync(StreamRequest model)
        {
            try
            {
                var request = new HttpRequestMessage()
                {
                    Method     = HttpMethod.Get,
                    RequestUri = new Uri(BASE_ADDRESS + "/" + API_VERSION + "/stream?name=" + model.Name),
                };

                var result = await client.SendAsync(request);

                if (result.StatusCode == HttpStatusCode.Unauthorized)
                {
                    return(new StreamResponse
                    {
                        Success = false,
                        Errors = new List <string> {
                            "Unauthorized. Please check your API Key and API Secret."
                        }
                    });
                }
                var jsonResponse = await result.Content.ReadAsStringAsync();

                var response = JsonConvert.DeserializeObject <StreamResponse>(jsonResponse);

                return(response);
            }
            catch (Exception e)
            {
                var ex = new Image4ioException("There is an error while getting stream", e);
                throw ex;
            }
        }
Example #4
0
        public async Task <SubscriptionResponse> SubscriptionAsync()
        {
            try
            {
                var result = await client.GetAsync(API_VERSION + "/subscription");

                if (result.StatusCode == HttpStatusCode.Unauthorized)
                {
                    return(new SubscriptionResponse
                    {
                        Success = false,
                        Errors = new List <string> {
                            "Unauthorized. Please check your API Key and API Secret."
                        }
                    });
                }
                var jsonResponse = await result.Content.ReadAsStringAsync();

                var response = JsonConvert.DeserializeObject <SubscriptionResponse>(jsonResponse);

                return(response);
            }
            catch (Exception e)
            {
                var ex = new Image4ioException("There is an error while getting subscription", e);
                throw ex;
            }
        }
Example #5
0
        public async Task <BaseResponse> UploadStreamPartAsync(UploadStreamPartRequest model)
        {
            try
            {
                MultipartFormDataContent form = new MultipartFormDataContent
                {
                    { new StreamContent(model.StreamPart), "Part", model.FileName },
                    { new StringContent(model.PartId.ToString()), "PartId" },
                    { new StringContent(model.Token), "Token" },
                    { new StringContent(model.FileName), "FileName" }
                };

                var request = new HttpRequestMessage(new HttpMethod("PATCH"), new Uri(client.BaseAddress + API_VERSION + "/uploadStream"))
                {
                    Content = form
                };

                var result = await client.SendAsync(request);

                if (result.StatusCode == HttpStatusCode.Unauthorized)
                {
                    return(new BaseResponse
                    {
                        Success = false,
                        Errors = new List <string> {
                            "Unauthorized. Please check your API Key and API Secret."
                        }
                    });
                }
                if (!result.IsSuccessStatusCode)
                {
                    var jsonResponse = await result.Content.ReadAsStringAsync();

                    var response = JsonConvert.DeserializeObject <BaseResponse>(jsonResponse);
                    return(response);
                }
                else
                {
                    return(new BaseResponse
                    {
                        Errors = new List <string>(),
                        Messages = new List <string>(),
                        Success = true
                    });
                }
            }
            catch (Exception e)
            {
                var ex = new Image4ioException("There is an error while uploading stream part", e);
                throw ex;
            }
        }
Example #6
0
        public async Task <ListFolderResponse> ListFolderAsync(ListFolderRequest model)
        {
            try
            {
                var queryBuilder = new QueryBuilder();
                if (!String.IsNullOrEmpty(model.Path))
                {
                    queryBuilder.Add("path", model.Path);
                }
                if (!String.IsNullOrEmpty(model.ContinuationToken))
                {
                    queryBuilder.Add("continuationToken", model.ContinuationToken);
                }

                var request = new HttpRequestMessage()
                {
                    Method     = HttpMethod.Get,
                    RequestUri = new Uri(BASE_ADDRESS + "/" + API_VERSION + "/listFolder" + queryBuilder.ToQueryString()),
                };
                var result = await client.SendAsync(request);

                if (result.StatusCode == HttpStatusCode.Unauthorized)
                {
                    return(new ListFolderResponse
                    {
                        Success = false,
                        Errors = new List <string> {
                            "Unauthorized. Please check your API Key and API Secret."
                        }
                    });
                }
                var jsonResponse = await result.Content.ReadAsStringAsync();

                var response = JsonConvert.DeserializeObject <ListFolderResponse>(jsonResponse);

                return(response);
            }
            catch (Exception e)
            {
                var ex = new Image4ioException("There is an error while listing folder", e);
                throw ex;
            }
        }
Example #7
0
        public async Task <UploadImageResponse> UploadImageAsync(UploadImageRequest model)
        {
            try
            {
                MultipartFormDataContent form = new MultipartFormDataContent
                {
                    { new StringContent(model.UseFilename.ToString()), "useFilename" },
                    { new StringContent(model.Overwrite.ToString()), "overwrite" },
                    { new StringContent(model.Path.ToString()), "path" }
                };
                foreach (var i in model.Files)
                {
                    form.Add(new StreamContent(i.Data), "file", i.FileName);
                }

                var result = await client.PostAsync(API_VERSION + "/uploadImage", form);

                if (result.StatusCode == HttpStatusCode.Unauthorized)
                {
                    return(new UploadImageResponse
                    {
                        Success = false,
                        Errors = new List <string> {
                            "Unauthorized. Please check your API Key and API Secret."
                        }
                    });
                }
                var jsonResponse = await result.Content.ReadAsStringAsync();

                var response = JsonConvert.DeserializeObject <UploadImageResponse>(jsonResponse);

                return(response);
            }
            catch (Exception e)
            {
                var ex = new Image4ioException("There is an error while uploading image(s)", e);
                throw ex;
            }
        }