Parse request URL

This commit is contained in:
Jaex 2019-01-08 17:35:17 +03:00
parent 5f59b14132
commit 142c68197c
4 changed files with 149 additions and 138 deletions

View file

@ -519,7 +519,7 @@ public static NameValueCollection ParseQueryString(string url)
{
int index = url.IndexOf("?");
if (index > -1)
if (index > -1 && index + 1 < url.Length)
{
string query = url.Substring(index + 1);
return HttpUtility.ParseQueryString(query);

View file

@ -128,10 +128,13 @@ public string GetRequestURL(CustomUploaderInput input)
throw new Exception(Resources.CustomUploaderItem_GetRequestURL_RequestURLMustBeConfigured);
}
string url = URLHelpers.FixPrefix(RequestURL);
CustomUploaderParser parser = new CustomUploaderParser(input);
parser.URLEncode = true;
string url = parser.Parse(RequestURL);
url = URLHelpers.FixPrefix(url);
Dictionary<string, string> parameters = GetParameters(input);
return URLHelpers.CreateQueryString(url, parameters);
}
@ -245,6 +248,8 @@ public void ParseResponse(UploadResult result, CustomUploaderInput input, bool i
public void CheckBackwardCompatibility()
{
CheckRequestURL();
if (string.IsNullOrEmpty(Version) || Helpers.CompareVersion(Version, "12.3.1") <= 0)
{
if (RequestType == HttpMethod.POST)
@ -261,8 +266,19 @@ public void CheckBackwardCompatibility()
Arguments = null;
}
}
}
Version = Application.ProductVersion;
}
private void CheckRequestURL()
{
if (!string.IsNullOrEmpty(RequestURL))
{
RequestURL = URLHelpers.FixPrefix(RequestURL);
NameValueCollection nvc = URLHelpers.ParseQueryString(RequestURL);
if (nvc != null && nvc.Count > 0)
{
if (Parameters == null)
@ -290,8 +306,6 @@ public void CheckBackwardCompatibility()
RequestURL = URLHelpers.RemoveQueryString(RequestURL);
}
}
Version = Application.ProductVersion;
}
}
}

View file

@ -1115,8 +1115,8 @@ private void InitializeComponent()
this.tpCustomUploaderRequest.Controls.Add(this.cbCustomUploaderRequestFormat);
this.tpCustomUploaderRequest.Controls.Add(this.lblCustomUploaderRequestMethod);
this.tpCustomUploaderRequest.Controls.Add(this.lblCustomUploaderRequestFormat);
this.tpCustomUploaderRequest.Controls.Add(this.pCustomUploaderBodyData);
this.tpCustomUploaderRequest.Controls.Add(this.pCustomUploaderBodyArguments);
this.tpCustomUploaderRequest.Controls.Add(this.pCustomUploaderBodyData);
resources.ApplyResources(this.tpCustomUploaderRequest, "tpCustomUploaderRequest");
this.tpCustomUploaderRequest.Name = "tpCustomUploaderRequest";
this.tpCustomUploaderRequest.UseVisualStyleBackColor = true;

View file

@ -1427,135 +1427,6 @@ when you made the application key.</value>
<data name="&gt;&gt;lblCustomUploaderRequestFormat.ZOrder" xml:space="preserve">
<value>19</value>
</data>
<data name="btnCustomUploaderDataBeautify.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="btnCustomUploaderDataBeautify.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 208</value>
</data>
<data name="btnCustomUploaderDataBeautify.Size" type="System.Drawing.Size, System.Drawing">
<value>112, 24</value>
</data>
<data name="btnCustomUploaderDataBeautify.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="btnCustomUploaderDataBeautify.Text" xml:space="preserve">
<value>Beautify</value>
</data>
<data name="&gt;&gt;btnCustomUploaderDataBeautify.Name" xml:space="preserve">
<value>btnCustomUploaderDataBeautify</value>
</data>
<data name="&gt;&gt;btnCustomUploaderDataBeautify.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnCustomUploaderDataBeautify.Parent" xml:space="preserve">
<value>pCustomUploaderBodyData</value>
</data>
<data name="&gt;&gt;btnCustomUploaderDataBeautify.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="btnCustomUploaderDataMinify.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="btnCustomUploaderDataMinify.Location" type="System.Drawing.Point, System.Drawing">
<value>120, 208</value>
</data>
<data name="btnCustomUploaderDataMinify.Size" type="System.Drawing.Size, System.Drawing">
<value>112, 24</value>
</data>
<data name="btnCustomUploaderDataMinify.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="btnCustomUploaderDataMinify.Text" xml:space="preserve">
<value>Minify</value>
</data>
<data name="&gt;&gt;btnCustomUploaderDataMinify.Name" xml:space="preserve">
<value>btnCustomUploaderDataMinify</value>
</data>
<data name="&gt;&gt;btnCustomUploaderDataMinify.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnCustomUploaderDataMinify.Parent" xml:space="preserve">
<value>pCustomUploaderBodyData</value>
</data>
<data name="&gt;&gt;btnCustomUploaderDataMinify.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="rtbCustomUploaderData.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="rtbCustomUploaderData.Location" type="System.Drawing.Point, System.Drawing">
<value>2, 2</value>
</data>
<data name="rtbCustomUploaderData.Size" type="System.Drawing.Size, System.Drawing">
<value>226, 186</value>
</data>
<data name="rtbCustomUploaderData.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="rtbCustomUploaderData.Text" xml:space="preserve">
<value />
</data>
<data name="rtbCustomUploaderData.WordWrap" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;rtbCustomUploaderData.Name" xml:space="preserve">
<value>rtbCustomUploaderData</value>
</data>
<data name="&gt;&gt;rtbCustomUploaderData.Type" xml:space="preserve">
<value>System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;rtbCustomUploaderData.Parent" xml:space="preserve">
<value>pCustomUploaderData</value>
</data>
<data name="&gt;&gt;rtbCustomUploaderData.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="pCustomUploaderData.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 8</value>
</data>
<data name="pCustomUploaderData.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>2, 2, 2, 2</value>
</data>
<data name="pCustomUploaderData.Size" type="System.Drawing.Size, System.Drawing">
<value>232, 192</value>
</data>
<data name="pCustomUploaderData.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;pCustomUploaderData.Name" xml:space="preserve">
<value>pCustomUploaderData</value>
</data>
<data name="&gt;&gt;pCustomUploaderData.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;pCustomUploaderData.Parent" xml:space="preserve">
<value>pCustomUploaderBodyData</value>
</data>
<data name="&gt;&gt;pCustomUploaderData.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="pCustomUploaderBodyData.Location" type="System.Drawing.Point, System.Drawing">
<value>264, 96</value>
</data>
<data name="pCustomUploaderBodyData.Size" type="System.Drawing.Size, System.Drawing">
<value>240, 368</value>
</data>
<data name="pCustomUploaderBodyData.TabIndex" type="System.Int32, mscorlib">
<value>21</value>
</data>
<data name="&gt;&gt;pCustomUploaderBodyData.Name" xml:space="preserve">
<value>pCustomUploaderBodyData</value>
</data>
<data name="&gt;&gt;pCustomUploaderBodyData.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;pCustomUploaderBodyData.Parent" xml:space="preserve">
<value>tpCustomUploaderRequest</value>
</data>
<data name="&gt;&gt;pCustomUploaderBodyData.ZOrder" xml:space="preserve">
<value>20</value>
</data>
<data name="btnCustomUploaderArgumentAdd.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
@ -1815,6 +1686,135 @@ when you made the application key.</value>
<value>tpCustomUploaderRequest</value>
</data>
<data name="&gt;&gt;pCustomUploaderBodyArguments.ZOrder" xml:space="preserve">
<value>20</value>
</data>
<data name="btnCustomUploaderDataBeautify.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="btnCustomUploaderDataBeautify.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 208</value>
</data>
<data name="btnCustomUploaderDataBeautify.Size" type="System.Drawing.Size, System.Drawing">
<value>112, 24</value>
</data>
<data name="btnCustomUploaderDataBeautify.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="btnCustomUploaderDataBeautify.Text" xml:space="preserve">
<value>Beautify</value>
</data>
<data name="&gt;&gt;btnCustomUploaderDataBeautify.Name" xml:space="preserve">
<value>btnCustomUploaderDataBeautify</value>
</data>
<data name="&gt;&gt;btnCustomUploaderDataBeautify.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnCustomUploaderDataBeautify.Parent" xml:space="preserve">
<value>pCustomUploaderBodyData</value>
</data>
<data name="&gt;&gt;btnCustomUploaderDataBeautify.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="btnCustomUploaderDataMinify.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="btnCustomUploaderDataMinify.Location" type="System.Drawing.Point, System.Drawing">
<value>120, 208</value>
</data>
<data name="btnCustomUploaderDataMinify.Size" type="System.Drawing.Size, System.Drawing">
<value>112, 24</value>
</data>
<data name="btnCustomUploaderDataMinify.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="btnCustomUploaderDataMinify.Text" xml:space="preserve">
<value>Minify</value>
</data>
<data name="&gt;&gt;btnCustomUploaderDataMinify.Name" xml:space="preserve">
<value>btnCustomUploaderDataMinify</value>
</data>
<data name="&gt;&gt;btnCustomUploaderDataMinify.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnCustomUploaderDataMinify.Parent" xml:space="preserve">
<value>pCustomUploaderBodyData</value>
</data>
<data name="&gt;&gt;btnCustomUploaderDataMinify.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="rtbCustomUploaderData.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="rtbCustomUploaderData.Location" type="System.Drawing.Point, System.Drawing">
<value>2, 2</value>
</data>
<data name="rtbCustomUploaderData.Size" type="System.Drawing.Size, System.Drawing">
<value>226, 186</value>
</data>
<data name="rtbCustomUploaderData.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="rtbCustomUploaderData.Text" xml:space="preserve">
<value />
</data>
<data name="rtbCustomUploaderData.WordWrap" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;rtbCustomUploaderData.Name" xml:space="preserve">
<value>rtbCustomUploaderData</value>
</data>
<data name="&gt;&gt;rtbCustomUploaderData.Type" xml:space="preserve">
<value>System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;rtbCustomUploaderData.Parent" xml:space="preserve">
<value>pCustomUploaderData</value>
</data>
<data name="&gt;&gt;rtbCustomUploaderData.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="pCustomUploaderData.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 8</value>
</data>
<data name="pCustomUploaderData.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>2, 2, 2, 2</value>
</data>
<data name="pCustomUploaderData.Size" type="System.Drawing.Size, System.Drawing">
<value>232, 192</value>
</data>
<data name="pCustomUploaderData.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;pCustomUploaderData.Name" xml:space="preserve">
<value>pCustomUploaderData</value>
</data>
<data name="&gt;&gt;pCustomUploaderData.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;pCustomUploaderData.Parent" xml:space="preserve">
<value>pCustomUploaderBodyData</value>
</data>
<data name="&gt;&gt;pCustomUploaderData.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="pCustomUploaderBodyData.Location" type="System.Drawing.Point, System.Drawing">
<value>264, 96</value>
</data>
<data name="pCustomUploaderBodyData.Size" type="System.Drawing.Size, System.Drawing">
<value>240, 368</value>
</data>
<data name="pCustomUploaderBodyData.TabIndex" type="System.Int32, mscorlib">
<value>21</value>
</data>
<data name="&gt;&gt;pCustomUploaderBodyData.Name" xml:space="preserve">
<value>pCustomUploaderBodyData</value>
</data>
<data name="&gt;&gt;pCustomUploaderBodyData.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;pCustomUploaderBodyData.Parent" xml:space="preserve">
<value>tpCustomUploaderRequest</value>
</data>
<data name="&gt;&gt;pCustomUploaderBodyData.ZOrder" xml:space="preserve">
<value>21</value>
</data>
<data name="tpCustomUploaderRequest.Location" type="System.Drawing.Point, System.Drawing">
@ -17667,9 +17667,6 @@ Using an encrypted library disables sharing.</value>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>1000, 633</value>
</data>
<data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>840, 572</value>
</data>