Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
yar229 committed Apr 10, 2017
2 parents 1b908bd + 41e9ac6 commit 9f2a48d
Show file tree
Hide file tree
Showing 7 changed files with 24 additions and 38 deletions.
2 changes: 1 addition & 1 deletion NWebDAV
2 changes: 2 additions & 0 deletions WDMRC.Console/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ static void Main(string[] args)
var webdavHost = string.IsNullOrWhiteSpace(options.Host)
? $"{webdavProtocol}://{webdavIp}"
: options.Host.TrimEnd('/');
if (webdavHost.EndsWith("//0.0.0.0")) webdavHost = webdavHost.Replace("//0.0.0.0", "//*");


var cancellationTokenSource = new CancellationTokenSource();
var httpListener = new HttpListener();
Expand Down
15 changes: 0 additions & 15 deletions WebDavMailRuCloudStore/DavCustomProperty/DavSharedLink.cs

This file was deleted.

13 changes: 7 additions & 6 deletions WebDavMailRuCloudStore/Mailru/StoreBase/MailruStoreCollection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,6 @@ static byte[] GetBytes(string str)
// Getter = (context, item) => item.CalculateEtag()
//},

//new DavIsreadonly<MailruStoreCollection>
//{
// Getter = (context, item) => false
//},

//new DavBsiisreadonly<MailruStoreCollection>
//{
// Getter = (context, item) => false
Expand All @@ -90,6 +85,12 @@ static byte[] GetBytes(string str)
// }
//},
////====================================================================================================


new DavIsreadonly<MailruStoreCollection>
{
Getter = (context, item) => item.IsWritable
},

new DavQuotaAvailableBytes<MailruStoreCollection>
{
Expand Down Expand Up @@ -228,7 +229,7 @@ static byte[] GetBytes(string str)
return DavStatusCode.Ok;
}
},
new DavSharedLink<MailruStoreCollection>
new DavHref<MailruStoreCollection>()
{
Getter = (context, item) => item.DirectoryInfo.PublicLink,
Setter = (context, item, value) => DavStatusCode.Ok
Expand Down
27 changes: 13 additions & 14 deletions WebDavMailRuCloudStore/Mailru/StoreBase/MailruStoreItem.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System;
using System.Diagnostics;
using System.IO;
using System.Runtime.CompilerServices;
using System.Security.Cryptography;
using System.Threading.Tasks;
using MailRuCloudApi;
Expand Down Expand Up @@ -32,6 +33,11 @@ public MailruStoreItem(ILockingManager lockingManager, MailRuCloudApi.File fileI

public static PropertyManager<MailruStoreItem> DefaultPropertyManager { get; } = new PropertyManager<MailruStoreItem>(new DavProperty<MailruStoreItem>[]
{
new DavIsreadonly<MailruStoreItem>
{
Getter = (context, item) => item.IsWritable
},

// RFC-2518 properties
new DavCreationDate<MailruStoreItem>
{
Expand Down Expand Up @@ -130,7 +136,7 @@ public MailruStoreItem(ILockingManager lockingManager, MailRuCloudApi.File fileI
Getter = (context, item) => FileAttributes.Normal, //item._fileInfo.Attributes,
Setter = (context, item, value) => DavStatusCode.Ok
},
new DavSharedLink<MailruStoreItem>
new DavHref<MailruStoreItem>
{
Getter = (context, item) => item._fileInfo.PublicLink,
Setter = (context, item, value) => DavStatusCode.Ok
Expand Down Expand Up @@ -217,25 +223,18 @@ public async Task<StoreItemResult> CopyAsync(IStoreCollection destination, strin
{
try
{
// If the destination is also a disk-store, then we can use the FileCopy API
// (it's probably a bit more efficient than copying in C#)
var diskCollection = destination as MailruStoreCollection;
if (diskCollection != null)
var collection = destination as MailruStoreCollection;
if (collection != null)
{
if (!diskCollection.IsWritable)
if (!collection.IsWritable)
return new StoreItemResult(DavStatusCode.PreconditionFailed);

var destinationPath = Path.Combine(diskCollection.FullPath, name);
var destinationPath = WebDavPath.Combine(collection.FullPath, name);

// Check if the file already exists
//var fileExists = File.Exists(destinationPath);
//if (fileExists && !overwrite)
// return new StoreItemResult(DavStatusCode.PreconditionFailed);
// check if the file already exists??

// Copy the file
Cloud.Instance(httpContext).Copy(_fileInfo, destinationPath).Wait();
await Cloud.Instance(httpContext).Copy(_fileInfo, destinationPath);

// Return the appropriate status
return new StoreItemResult(DavStatusCode.Created);
}

Expand Down
1 change: 0 additions & 1 deletion WebDavMailRuCloudStore/WebDavMailRuCloudStore.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@
<Compile Include="DavCustomProperty\DavIsreadonly.cs" />
<Compile Include="DavCustomProperty\DavLastAccessed.cs" />
<Compile Include="DavCustomProperty\DavLoctoken.cs" />
<Compile Include="DavCustomProperty\DavSharedLink.cs" />
<Compile Include="DavCustomProperty\DavSrtfileattributes.cs" />
<Compile Include="Extensions.cs" />
<Compile Include="Mailru\DeleteHandler.cs" />
Expand Down

0 comments on commit 9f2a48d

Please sign in to comment.