Code refactoring - minor issues

This commit is contained in:
Tomasz Wisniewski 2017-01-27 11:21:46 +01:00
parent 7a2c9a42bc
commit 27b6d1c9a3
5 changed files with 2127 additions and 7838 deletions

View file

@ -19,8 +19,7 @@ public sealed class AzureStorage : FileUploader
private string azureStorageAccountAccessKey;
private string azureStorageContainer;
private const string apiVersion = "2016-05-31";
private string uri;
private string date;
//private string date;
public AzureStorage(string asAccountName, string asAccessKey, string asContainer)
{
@ -40,11 +39,10 @@ public override UploadResult Upload(Stream stream, string fileName)
return null;
}
date = DateTime.UtcNow.ToString("R", CultureInfo.InvariantCulture);
CreateContainerIfNotExists();
uri = string.Format("https://{0}.blob.core.windows.net/{1}/{2}", azureStorageAccountName, azureStorageContainer, fileName);
var date = DateTime.UtcNow.ToString("R", CultureInfo.InvariantCulture);
var uri = string.Format("https://{0}.blob.core.windows.net/{1}/{2}", azureStorageAccountName, azureStorageContainer, fileName);
NameValueCollection requestHeaders = new NameValueCollection();
requestHeaders["x-ms-date"] = date;
@ -73,7 +71,8 @@ public override UploadResult Upload(Stream stream, string fileName)
private void CreateContainerIfNotExists()
{
uri = string.Format("https://{0}.blob.core.windows.net/{1}?restype=container", azureStorageAccountName, azureStorageContainer);
var date = DateTime.UtcNow.ToString("R", CultureInfo.InvariantCulture);
var uri = string.Format("https://{0}.blob.core.windows.net/{1}?restype=container", azureStorageAccountName, azureStorageContainer);
NameValueCollection requestHeaders = new NameValueCollection();
requestHeaders["Content-Length"] = "0";
@ -109,7 +108,8 @@ private void CreateContainerIfNotExists()
private void SetContainerACL()
{
uri = string.Format("https://{0}.blob.core.windows.net/{1}?restype=container&comp=acl", azureStorageAccountName, azureStorageContainer);
var date = DateTime.UtcNow.ToString("R", CultureInfo.InvariantCulture);
var uri = string.Format("https://{0}.blob.core.windows.net/{1}?restype=container&comp=acl", azureStorageAccountName, azureStorageContainer);
NameValueCollection requestHeaders = new NameValueCollection();
requestHeaders["Content-Length"] = "0";
@ -134,18 +134,9 @@ private string HashRequest(string stringToSign)
{
HashAlgorithm hashAlgorithm = new HMACSHA256(Convert.FromBase64String(azureStorageAccountAccessKey));
byte[] messageBuffer = Encoding.UTF8.GetBytes(stringToSign);
return Convert.ToBase64String(hashAlgorithm.ComputeHash(messageBuffer));
}
private HttpWebRequest GenerateBasicWebRequest(string uri)
{
var request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "PUT";
request.Headers.Add("x-ms-date", date);
request.Headers.Add("x-ms-version", apiVersion);
return request;
var hashedString = Convert.ToBase64String(hashAlgorithm.ComputeHash(messageBuffer));
hashAlgorithm.Clear();
return hashedString;
}
private string GenerateStringToSign(string canonicalizedHeaders, string canonicalizedResource, string contentLength = "")

View file

@ -240,6 +240,10 @@ private void InitializeComponent()
this.lblAmazonS3AccessKey = new System.Windows.Forms.Label();
this.txtAmazonS3AccessKey = new System.Windows.Forms.TextBox();
this.tpAzureStorage = new System.Windows.Forms.TabPage();
this.btnAzureStoragePortal = new System.Windows.Forms.Button();
this.txtAzureStorageContainer = new System.Windows.Forms.TextBox();
this.lblAzureStorageContainer = new System.Windows.Forms.Label();
this.txtAzureStorageAccessKey = new System.Windows.Forms.TextBox();
this.lblAzureStorageAccessKey = new System.Windows.Forms.Label();
this.txtAzureStorageAccountName = new System.Windows.Forms.TextBox();
this.lblAzureStorageAccountName = new System.Windows.Forms.Label();
@ -568,10 +572,6 @@ private void InitializeComponent()
this.lblWidthHint = new System.Windows.Forms.Label();
this.ttlvMain = new ShareX.HelpersLib.TabToListView();
this.actRapidShareAccountType = new ShareX.UploadersLib.AccountTypeControl();
this.txtAzureStorageAccessKey = new System.Windows.Forms.TextBox();
this.lblAzureStorageContainer = new System.Windows.Forms.Label();
this.txtAzureStorageContainer = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
this.tpOtherUploaders.SuspendLayout();
this.tcOtherUploaders.SuspendLayout();
this.tpTwitter.SuspendLayout();
@ -2228,7 +2228,7 @@ private void InitializeComponent()
//
// tpAzureStorage
//
this.tpAzureStorage.Controls.Add(this.button1);
this.tpAzureStorage.Controls.Add(this.btnAzureStoragePortal);
this.tpAzureStorage.Controls.Add(this.txtAzureStorageContainer);
this.tpAzureStorage.Controls.Add(this.lblAzureStorageContainer);
this.tpAzureStorage.Controls.Add(this.txtAzureStorageAccessKey);
@ -2239,6 +2239,31 @@ private void InitializeComponent()
this.tpAzureStorage.Name = "tpAzureStorage";
this.tpAzureStorage.UseVisualStyleBackColor = true;
//
// btnAzureStoragePortal
//
resources.ApplyResources(this.btnAzureStoragePortal, "btnAzureStoragePortal");
this.btnAzureStoragePortal.Name = "btnAzureStoragePortal";
this.btnAzureStoragePortal.UseVisualStyleBackColor = true;
this.btnAzureStoragePortal.Click += new System.EventHandler(this.btnAzureStoragePortal_Click);
//
// txtAzureStorageContainer
//
resources.ApplyResources(this.txtAzureStorageContainer, "txtAzureStorageContainer");
this.txtAzureStorageContainer.Name = "txtAzureStorageContainer";
this.txtAzureStorageContainer.TextChanged += new System.EventHandler(this.txtAzureStorageContainer_TextChanged);
//
// lblAzureStorageContainer
//
resources.ApplyResources(this.lblAzureStorageContainer, "lblAzureStorageContainer");
this.lblAzureStorageContainer.Name = "lblAzureStorageContainer";
//
// txtAzureStorageAccessKey
//
resources.ApplyResources(this.txtAzureStorageAccessKey, "txtAzureStorageAccessKey");
this.txtAzureStorageAccessKey.Name = "txtAzureStorageAccessKey";
this.txtAzureStorageAccessKey.UseSystemPasswordChar = true;
this.txtAzureStorageAccessKey.TextChanged += new System.EventHandler(this.txtAzureStorageAccessKey_TextChanged);
//
// lblAzureStorageAccessKey
//
resources.ApplyResources(this.lblAzureStorageAccessKey, "lblAzureStorageAccessKey");
@ -4576,31 +4601,6 @@ private void InitializeComponent()
this.actRapidShareAccountType.Name = "actRapidShareAccountType";
this.actRapidShareAccountType.SelectedAccountType = ShareX.UploadersLib.AccountType.Anonymous;
//
// txtAzureStorageAccessKey
//
resources.ApplyResources(this.txtAzureStorageAccessKey, "txtAzureStorageAccessKey");
this.txtAzureStorageAccessKey.Name = "txtAzureStorageAccessKey";
this.txtAzureStorageAccessKey.UseSystemPasswordChar = true;
this.txtAzureStorageAccessKey.TextChanged += new System.EventHandler(this.txtAzureStorageAccessKey_TextChanged);
//
// lblAzureStorageContainer
//
resources.ApplyResources(this.lblAzureStorageContainer, "lblAzureStorageContainer");
this.lblAzureStorageContainer.Name = "lblAzureStorageContainer";
//
// txtAzureStorageContainer
//
resources.ApplyResources(this.txtAzureStorageContainer, "txtAzureStorageContainer");
this.txtAzureStorageContainer.Name = "txtAzureStorageContainer";
this.txtAzureStorageContainer.TextChanged += new System.EventHandler(this.txtAzureStorageContainer_TextChanged);
//
// button1
//
resources.ApplyResources(this.button1, "button1");
this.button1.Name = "button1";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// UploadersConfigForm
//
resources.ApplyResources(this, "$this");
@ -5307,6 +5307,6 @@ private void InitializeComponent()
private System.Windows.Forms.TextBox txtAzureStorageAccessKey;
private System.Windows.Forms.TextBox txtAzureStorageContainer;
private System.Windows.Forms.Label lblAzureStorageContainer;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button btnAzureStoragePortal;
}
}

View file

@ -2625,7 +2625,7 @@ private void txtAzureStorageContainer_TextChanged(object sender, EventArgs e)
Config.AzureStorageContainer = txtAzureStorageContainer.Text;
}
private void button1_Click(object sender, EventArgs e)
private void btnAzureStoragePortal_Click(object sender, EventArgs e)
{
URLHelpers.OpenURL("https://portal.azure.com/?feature.customportal=false#blade/HubsExtension/Resources/resourceType/Microsoft.Storage%2FStorageAccounts");
}

File diff suppressed because it is too large Load diff

View file

@ -99,7 +99,6 @@
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Data" />
<Reference Include="System.Design" />
<Reference Include="System.Drawing" />
@ -110,7 +109,6 @@
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel.Web" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>