Пример #1
0
        /// <summary>
        /// Delete container
        /// </summary>
        /// <param name="containerName"></param>
        /// <returns></returns>
        public bool Delete(string containerName)
        {
            var request = new RestRequest("/{containerName}", Method.DELETE);

            request.AddUrlSegment("containerName", containerName);
            request.AddHeader("Accept", "application/json");
            request.AddHeader("X-Auth-Token", Access.Token.Id);

            var response = Client.Execute(request);

            return(OvhStorage.ResponseError(response));
        }
Пример #2
0
        /// <summary>
        /// Get all items in container
        /// </summary>
        /// <param name="containerName"></param>
        /// <returns></returns>
        public List <ContainerItem> List(string containerName)
        {
            var request = new RestRequest("/{containerName}", Method.GET);

            request.AddUrlSegment("containerName", containerName);
            request.AddHeader("Accept", "application/json");
            request.AddHeader("X-Auth-Token", Access.Token.Id);

            var response = Client.Execute <List <ContainerItem> >(request);

            OvhStorage.ResponseError(response, true);
            return(response.Data);
        }
Пример #3
0
        /// <summary>
        /// Get file from container as byte[]
        /// </summary>
        /// <param name="containerName"></param>
        /// <param name="fileName"></param>
        /// <returns></returns>
        public byte[] Get(string containerName, string fileName)
        {
            var request = new RestRequest("/{containerName}/{fileName}", Method.GET);

            request.AddUrlSegment("containerName", containerName);
            request.AddUrlSegment("fileName", fileName);

            request.AddHeader("Accept", "application/json");
            request.AddHeader("X-Auth-Token", Access.Token.Id);
            var response = Client.Execute(request);

            OvhStorage.ResponseError(response);
            return(response.RawBytes);
        }
Пример #4
0
        /// <summary>
        /// Insert file into container
        /// </summary>
        /// <param name="containerName"></param>
        /// <param name="path"></param>
        /// <returns></returns>
        public bool Set(string containerName, string fileName, string path)
        {
            var fileBytes = File.ReadAllBytes(path);

            var request = new RestRequest("/{containerName}/{fileName}", Method.PUT);

            request.AddUrlSegment("containerName", containerName);
            request.AddUrlSegment("fileName", fileName);

            request.AddHeader("Accept", "application/json");
            request.AddHeader("X-Auth-Token", Access.Token.Id);
            request.AddFileBytes(fileName, fileBytes, fileName);
            var response = Client.Execute(request);

            return(OvhStorage.ResponseError(response));
        }
Пример #5
0
        /// <summary>
        /// Copy file from source container to destination container
        /// </summary>
        /// <param name="containerName">Source container</param>
        /// <param name="fileName">File name</param>
        /// <param name="containerNameToPaste">Destination container</param>
        /// <returns></returns>
        public bool Copy(string containerName, string fileName, string containerNameToPaste)
        {
            var request = new RestRequest("/{containerName}/{fileName}", Method.COPY);

            request.AddUrlSegment("containerName", containerName);
            request.AddUrlSegment("fileName", fileName);

            request.AddHeader("Accept", "application/json");
            request.AddHeader("X-Auth-Token", Access.Token.Id);

            request.AddHeader("Destination", string.Format("{0}/{1}", containerNameToPaste, fileName));

            var response = Client.Execute(request);

            return(OvhStorage.ResponseError(response));
        }
Пример #6
0
        /// <summary>
        /// Insert file into container
        /// </summary>
        /// <param name="containerName"></param>
        /// <param name="fileName"></param>
        /// <param name="stream"></param>
        /// <returns></returns>
        public bool Set(string containerName, string fileName, Stream stream)
        {
            using (MemoryStream ms = new MemoryStream())
            {
                stream.CopyTo(ms);
                var byteee  = ms.ToArray();
                var request = new RestRequest("/{containerName}/{fileName}", Method.PUT);
                request.AddUrlSegment("containerName", containerName);
                request.AddUrlSegment("fileName", fileName);

                request.AddHeader("Accept", "application/json");
                request.AddHeader("X-Auth-Token", Access.Token.Id);
                request.AddFileBytes(fileName, byteee, fileName);
                var response = Client.Execute(request);
                return(OvhStorage.ResponseError(response));
            }
        }
Пример #7
0
        /// <summary>
        /// Get meta datas about file
        /// </summary>
        /// <param name="containerName"></param>
        /// <param name="fileName"></param>
        /// <returns></returns>
        public List <ObjectMetaData> Info(string containerName, string fileName)
        {
            var request = new RestRequest("/{containerName}/{fileName}", Method.HEAD);

            request.AddUrlSegment("containerName", containerName);
            request.AddUrlSegment("fileName", fileName);

            request.AddHeader("Accept", "application/json");
            request.AddHeader("X-Auth-Token", Access.Token.Id);
            var response = Client.Execute(request);

            OvhStorage.ResponseError(response);
            return(response.Headers.Select(z => new ObjectMetaData()
            {
                ContentType = z.ContentType, Name = z.Name, Type = z.Type, Value = z.Value
            }).ToList());
        }