HttpClientConfiguration
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.Serialization;
namespace Relativity.Transfer.Http
{
[Serializable]
[SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification = "The name is more appropriate for its usage.")]
public class HttpClientConfiguration : ClientConfiguration
{
public const bool DefaultCreateDirectories = true;
[ConfigurationDoc("http-create-directories", "Enable or disable whether directories are created when transferring to the target path.", true)]
public bool CreateDirectories {
get {
return this.GetBooleanValue("http-create-directories", true);
}
set {
base["http-create-directories"] = value.ToString();
}
}
public HttpClientConfiguration()
{
Initialize(true);
}
public HttpClientConfiguration(IDictionary<string, object> properties)
: base(properties)
{
Initialize(false);
}
public HttpClientConfiguration(ClientConfiguration configuration)
: base(configuration)
{
}
protected HttpClientConfiguration(SerializationInfo info, StreamingContext context)
: base(info, context)
{
Initialize(true);
}
public override void GetObjectData(SerializationInfo info, StreamingContext context)
{
base.GetObjectData(info, context);
}
private void Initialize(bool overwrite)
{
base.ClientId = new Guid("18F9E382-288C-4B6D-8AE8-FBA4D88CD841");
base.Client = WellKnownTransferClient.Http;
Dictionary<string, object> properties = new Dictionary<string, object> {
{
"http-create-directories",
true.ToString()
}
};
Copy(properties, overwrite);
}
}
}