From 59a421876d86bd6812e07af00fea8858764a6d87 Mon Sep 17 00:00:00 2001 From: ruri Date: Wed, 29 May 2019 13:32:37 +0200 Subject: [PATCH] Accept-Encoding is now toggleable and can also be defined in Custom Headers when turned off. --- Extreme.Net.dll | Bin 122880 -> 122880 bytes OpenBullet/LSDoc.xml | 2 +- .../Pages/StackerBlocks/PageBlockRequest.xaml | 7 +++++++ OpenBullet/SyntaxHelper.xml | 2 +- RuriLib/Blocks/BlockRequest.cs | 8 +++++++- 5 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Extreme.Net.dll b/Extreme.Net.dll index fadd81b5a7a3e2512bf3232d58126ec3a2e90738..a427744980693658d35027024cb00a0505422e36 100644 GIT binary patch delta 4940 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 Bq)7k( diff --git a/OpenBullet/LSDoc.xml b/OpenBullet/LSDoc.xml index 4b0fa67..9cd5244 100644 --- a/OpenBullet/LSDoc.xml +++ b/OpenBullet/LSDoc.xml @@ -271,7 +271,7 @@ KEYCHECK BanOnToCheck=False This will spawn and execute a Request Block. Syntax (expanded for readability): -REQUEST METHOD "URL" [AutoRedirect?] [ReadResponseSource?] [ParseQuery?] [EncodeContent?] +REQUEST METHOD "URL" [AcceptEncoding?] [AutoRedirect?] [ReadResponseSource?] [ParseQuery?] [EncodeContent?] [STANDARD / MULTIPART / BASICAUTH] [CONTENT "postdata"] [CONTENTTYPE "ctype"] diff --git a/OpenBullet/Pages/StackerBlocks/PageBlockRequest.xaml b/OpenBullet/Pages/StackerBlocks/PageBlockRequest.xaml index ff12ee9..dd5d375 100644 --- a/OpenBullet/Pages/StackerBlocks/PageBlockRequest.xaml +++ b/OpenBullet/Pages/StackerBlocks/PageBlockRequest.xaml @@ -25,17 +25,24 @@ + + + + + + + diff --git a/OpenBullet/SyntaxHelper.xml b/OpenBullet/SyntaxHelper.xml index e517958..e3e50d4 100644 --- a/OpenBullet/SyntaxHelper.xml +++ b/OpenBullet/SyntaxHelper.xml @@ -10,7 +10,7 @@ KEYCHECK [BanOn4XX?] [BanOnToCheck?] ]* -REQUEST METHOD "URL" [AutoRedirect?] [ReadResponseSource?] [ParseQuery?] [EncodeContent?] +REQUEST METHOD "URL" [AcceptEncoding?] [AutoRedirect?] [ReadResponseSource?] [ParseQuery?] [EncodeContent?] [STANDARD / MULTIPART / BASICAUTH] [CONTENT "postdata"] [CONTENTTYPE "ctype"] diff --git a/RuriLib/Blocks/BlockRequest.cs b/RuriLib/Blocks/BlockRequest.cs index 796980c..188ef8c 100644 --- a/RuriLib/Blocks/BlockRequest.cs +++ b/RuriLib/Blocks/BlockRequest.cs @@ -111,6 +111,10 @@ namespace RuriLib /// Whether to URL encode the content before sending it. public bool EncodeContent { get { return encodeContent; } set { encodeContent = value; OnPropertyChanged(); } } + private bool acceptEncoding = true; + /// Whether to automatically generate an Accept-Encoding header. + public bool AcceptEncoding { get { return acceptEncoding; } set { acceptEncoding = value; OnPropertyChanged(); } } + // Multipart private string multipartBoundary = ""; /// The boundary that separates multipart contents. @@ -253,6 +257,7 @@ namespace RuriLib .Token("REQUEST") .Token(Method) .Literal(Url) + .Boolean(AcceptEncoding, "AcceptEncoding") .Boolean(AutoRedirect, "AutoRedirect") .Boolean(ReadResponseSource, "ReadResponseSource") .Boolean(ParseQuery, "ParseQuery") @@ -346,7 +351,7 @@ namespace RuriLib var timeout = data.GlobalSettings.General.RequestTimeout * 1000; request.IgnoreProtocolErrors = true; request.AllowAutoRedirect = autoRedirect; - request.EnableEncodingContent = true; + request.EnableEncodingContent = acceptEncoding; request.ReadWriteTimeout = timeout; request.ConnectTimeout = timeout; request.KeepAlive = true; @@ -449,6 +454,7 @@ namespace RuriLib var val = ReplaceValues(header.Value, data); if (replacedKey == "contenttype" && content != null) { continue; } // Disregard additional Content-Type headers + if (replacedKey == "acceptencoding" && acceptEncoding) { continue; } // Disregard additional Accept-Encoding headers // else if (fixedNames.Contains(replacedKey)) request.AddHeader((HttpHeader)Enum.Parse(typeof(HttpHeader), replacedKey, true), val); else request.AddHeader(key, val);