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; } }
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; } }
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; } }
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; } }
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; } }
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; } }
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; } }