public StandardResponse PostFile(string path, byte[] content, int?uid, int?gid, int?mode, FileKind type, bool?overwrite) { System.Diagnostics.Contracts.Contract.Requires(type != FileKind.Unknown, "FileKind.Unknown is not valid."); IRestRequest request = new RestRequest($"/{Client.Version}/containers/{Name}/files?path={path}"); if (uid.HasValue) { request.AddParameter("X-LXD-uid", uid.Value); } if (gid.HasValue) { request.AddParameter("X-LXD-gid", gid.Value); } if (mode.HasValue) { request.AddParameter("X-LXD-mode", mode.Value); } if (type != FileKind.Unknown) { request.AddParameter("X-LXD-type", type == FileKind.Directory ? "directory" : (type == FileKind.File ? "file" : "symlink")); } if (overwrite.HasValue) { request.AddParameter("X-LXD-write", overwrite.Value); } request.AddFile("", content, ""); IRestResponse restResponse = API.Post(request); return(StandardResponse.Parse(restResponse)); }
public StandardResponse DeleteFile(string path) { IRestRequest request = new RestRequest($"/{Client.Version}/containers/{Name}/files?path={path}"); request.AddParameter("path", path, ParameterType.UrlSegment); IRestResponse restResponse = API.Delete(request); return(StandardResponse.Parse(restResponse)); }
public StandardResponse PostFile(string path, byte[] content) { WebClientEx wc = new WebClientEx() { Certificates = API.ClientCertificates }; var responseByteArray = wc.UploadData(API.BaseUrl + $"{Client.Version}/containers/{Name}/files?path={path}", null, content); return(wc.ResponseHeaders[HttpRequestHeader.ContentType] == "application/json" ? StandardResponse.Parse(System.Text.Encoding.ASCII.GetString(responseByteArray)) : new StandardResponse.InvalidResponse()); }