diff --git a/jetty-http/src/test/java/org/eclipse/jetty/http/MultiPartParsingTest.java b/jetty-http/src/test/java/org/eclipse/jetty/http/MultiPartParsingTest.java index 1334824afe0..c3b71b32a57 100644 --- a/jetty-http/src/test/java/org/eclipse/jetty/http/MultiPartParsingTest.java +++ b/jetty-http/src/test/java/org/eclipse/jetty/http/MultiPartParsingTest.java @@ -36,6 +36,7 @@ import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import java.util.Objects; import javax.servlet.MultipartConfigElement; @@ -65,6 +66,7 @@ public class MultiPartParsingTest { List ret = new ArrayList<>(); + // Capture of raw request body contents from Apache HttpComponents 4.5.5 ret.add(new String[]{"multipart-text-files"}); ret.add(new String[]{"multipart-base64"}); ret.add(new String[]{"multipart-base64-long"}); @@ -82,6 +84,56 @@ public class MultiPartParsingTest ret.add(new String[]{"multipart-x-www-form-urlencoded"}); ret.add(new String[]{"multipart-zencoding"}); + // Capture of raw request body contents from various browsers + + // simple form - 2 fields + ret.add(new String[]{"browser-capture-form1-android-chrome"}); + ret.add(new String[]{"browser-capture-form1-android-firefox"}); + ret.add(new String[]{"browser-capture-form1-chrome"}); + ret.add(new String[]{"browser-capture-form1-edge"}); + ret.add(new String[]{"browser-capture-form1-firefox"}); + ret.add(new String[]{"browser-capture-form1-ios-safari"}); + ret.add(new String[]{"browser-capture-form1-msie"}); + ret.add(new String[]{"browser-capture-form1-osx-safari"}); + + // form submitted as shift-jis + ret.add(new String[]{"browser-capture-sjis-form-android-chrome"}); + ret.add(new String[]{"browser-capture-sjis-form-android-firefox"}); + ret.add(new String[]{"browser-capture-sjis-form-chrome"}); + ret.add(new String[]{"browser-capture-sjis-form-edge"}); + ret.add(new String[]{"browser-capture-sjis-form-firefox"}); + ret.add(new String[]{"browser-capture-sjis-form-ios-safari"}); + ret.add(new String[]{"browser-capture-sjis-form-msie"}); + ret.add(new String[]{"browser-capture-sjis-form-safari"}); + + // form submitted as shift-jis (with HTML5 specific hidden _charset_ field) + ret.add(new String[]{"browser-capture-sjis-charset-form-android-chrome"}); + ret.add(new String[]{"browser-capture-sjis-charset-form-android-firefox"}); + ret.add(new String[]{"browser-capture-sjis-charset-form-chrome"}); + ret.add(new String[]{"browser-capture-sjis-charset-form-edge"}); + ret.add(new String[]{"browser-capture-sjis-charset-form-firefox"}); + ret.add(new String[]{"browser-capture-sjis-charset-form-ios-safari"}); + ret.add(new String[]{"browser-capture-sjis-charset-form-msie"}); + ret.add(new String[]{"browser-capture-sjis-charset-form-safari"}); + + // form submitted with simple file upload + ret.add(new String[]{"browser-capture-form-fileupload-android-chrome"}); + ret.add(new String[]{"browser-capture-form-fileupload-android-firefox"}); + ret.add(new String[]{"browser-capture-form-fileupload-chrome"}); + ret.add(new String[]{"browser-capture-form-fileupload-edge"}); + ret.add(new String[]{"browser-capture-form-fileupload-firefox"}); + ret.add(new String[]{"browser-capture-form-fileupload-ios-safari"}); + ret.add(new String[]{"browser-capture-form-fileupload-msie"}); + ret.add(new String[]{"browser-capture-form-fileupload-safari"}); + + // form submitted with 2 files (1 binary, 1 text) and 2 text fields + ret.add(new String[]{"browser-capture-form-fileupload-alt-chrome"}); + ret.add(new String[]{"browser-capture-form-fileupload-alt-edge"}); + ret.add(new String[]{"browser-capture-form-fileupload-alt-firefox"}); + ret.add(new String[]{"browser-capture-form-fileupload-alt-ios-safari"}); + ret.add(new String[]{"browser-capture-form-fileupload-alt-msie"}); + ret.add(new String[]{"browser-capture-form-fileupload-alt-safari"}); + return ret; } @@ -146,7 +198,7 @@ public class MultiPartParsingTest DigestOutputStream digester = new DigestOutputStream(noop, digest)) { IO.copy(partInputStream, digester); - String actualSha1sum = Hex.asHex(digest.digest()); + String actualSha1sum = Hex.asHex(digest.digest()).toLowerCase(Locale.US); assertThat("Part[" + expected.name + "].sha1sum", actualSha1sum, containsString(expected.value)); } } @@ -212,6 +264,12 @@ public class MultiPartParsingTest String split[] = line.split("\\|"); switch (split[0]) { + case "Request-Header": + if(split[1].equalsIgnoreCase("Content-Type")) + { + parsedContentType = split[2]; + } + break; case "Content-Type": parsedContentType = split[1]; break; diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-chrome.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-chrome.expected.txt new file mode 100644 index 00000000000..7b689768bb9 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-chrome.expected.txt @@ -0,0 +1,21 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate, br +Request-Header|Accept-Language|en-US,en;q=0.9 +Request-Header|Cache-Control|max-age=0 +Request-Header|Connection|keep-alive +Request-Header|Content-Length|22759 +Request-Header|Content-Type|multipart/form-data; boundary=----WebKitFormBoundaryafpkbdzB5Ciqre2z +Request-Header|Cookie|visited=yes +Request-Header|DNT|1 +Request-Header|Host|localhost:9090 +Request-Header|Origin|http://localhost:9090 +Request-Header|Referer|http://localhost:9090/form-fileupload-multi.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36 +Parts-Count|4 +Part-ContainsContents|description|the larger icon +Part-ContainsContents|alternate|text.raw +Part-Filename|file|jetty-avatar-256.png +Part-Sha1sum|file|e75b73644afe9b234d70da9ff225229de68cdff8 +Part-Filename|file-alt|text.raw +Part-Sha1sum|file-alt|5fb031816a27d80cc88c390819addab0ec3c189b diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-chrome.raw b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-chrome.raw new file mode 100644 index 00000000000..cb7809cf0d4 Binary files /dev/null and b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-chrome.raw differ diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-edge.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-edge.expected.txt new file mode 100644 index 00000000000..9c3e2549453 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-edge.expected.txt @@ -0,0 +1,17 @@ +Request-Header|Accept|text/html, application/xhtml+xml, image/jxr, */* +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US +Request-Header|Cache-Control|no-cache +Request-Header|Connection|keep-alive +Request-Header|Content-Length|22824 +Request-Header|Content-Type|multipart/form-data; boundary=---------------------------7e21c038151054 +Request-Header|Host|localhost:9090 +Request-Header|Referer|http://localhost:9090/form-fileupload-multi.html +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299 +Parts-Count|4 +Part-ContainsContents|description|the larger icon +Part-ContainsContents|alternate|text.raw +Part-Filename|file|C:\Users\joakim\Pictures\jetty-avatar-256.png +Part-Sha1sum|file|e75b73644afe9b234d70da9ff225229de68cdff8 +Part-Filename|file-alt|C:\Users\joakim\Pictures\text.raw +Part-Sha1sum|file-alt|5fb031816a27d80cc88c390819addab0ec3c189b diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-edge.raw b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-edge.raw new file mode 100644 index 00000000000..13fa9572fdd Binary files /dev/null and b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-edge.raw differ diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-firefox.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-firefox.expected.txt new file mode 100644 index 00000000000..f918d12a4f6 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-firefox.expected.txt @@ -0,0 +1,17 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US,en;q=0.5 +Request-Header|Connection|keep-alive +Request-Header|Content-Length|22774 +Request-Header|Content-Type|multipart/form-data; boundary=---------------------------23281168279961 +Request-Header|Host|localhost:9090 +Request-Header|Referer|http://localhost:9090/form-fileupload-multi.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0 +Parts-Count|4 +Part-ContainsContents|description|the larger icon +Part-ContainsContents|alternate|text.raw +Part-Filename|file|jetty-avatar-256.png +Part-Sha1sum|file|e75b73644afe9b234d70da9ff225229de68cdff8 +Part-Filename|file-alt|text.raw +Part-Sha1sum|file-alt|5fb031816a27d80cc88c390819addab0ec3c189b diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-firefox.raw b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-firefox.raw new file mode 100644 index 00000000000..ca094b5a9fc Binary files /dev/null and b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-firefox.raw differ diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-ios-safari.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-ios-safari.expected.txt new file mode 100644 index 00000000000..a235dfb9fee --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-ios-safari.expected.txt @@ -0,0 +1,18 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-us +Request-Header|Connection|keep-alive +Request-Header|Content-Length|22359 +Request-Header|Content-Type|multipart/form-data; boundary=----WebKitFormBoundaryb59mxzeFXckWXDD0 +Request-Header|Host|192.168.0.119:9090 +Request-Header|Origin|http://192.168.0.119:9090 +Request-Header|Referer|http://192.168.0.119:9090/form-fileupload-multi.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (iPad; CPU OS 11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0 Mobile/15D100 Safari/604.1 +Parts-Count|4 +Part-ContainsContents|description|the larger icon +Part-ContainsContents|alternate|Text.raw +Part-Filename|file|36037FD9-841C-4803-AA7E-354EF727AA06.png +Part-Sha1sum|file|e75b73644afe9b234d70da9ff225229de68cdff8 +Part-Filename|file-alt|Text File.txt +Part-Sha1sum|file-alt|5fb031816a27d80cc88c390819addab0ec3c189b diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-ios-safari.raw b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-ios-safari.raw new file mode 100644 index 00000000000..5a6bf414f80 Binary files /dev/null and b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-ios-safari.raw differ diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-msie.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-msie.expected.txt new file mode 100644 index 00000000000..b1534812a61 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-msie.expected.txt @@ -0,0 +1,17 @@ +Request-Header|Accept|text/html, application/xhtml+xml, image/jxr, */* +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US +Request-Header|Cache-Control|no-cache +Request-Header|Connection|keep-alive +Request-Header|Content-Length|22814 +Request-Header|Content-Type|multipart/form-data; boundary=---------------------------7e226692109c +Request-Header|Host|localhost:9090 +Request-Header|Referer|http://localhost:9090/form-fileupload-multi.html +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko +Parts-Count|4 +Part-ContainsContents|description|the larger icon +Part-ContainsContents|alternate|text.raw +Part-Filename|file|C:\Users\joakim\Pictures\jetty-avatar-256.png +Part-Sha1sum|file|e75b73644afe9b234d70da9ff225229de68cdff8 +Part-Filename|file-alt|C:\Users\joakim\Pictures\text.raw +Part-Sha1sum|file-alt|5fb031816a27d80cc88c390819addab0ec3c189b diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-msie.raw b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-msie.raw new file mode 100644 index 00000000000..786215f3d90 Binary files /dev/null and b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-msie.raw differ diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-safari.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-safari.expected.txt new file mode 100644 index 00000000000..12c657e8258 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-safari.expected.txt @@ -0,0 +1,18 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-us +Request-Header|Connection|keep-alive +Request-Header|Content-Length|22774 +Request-Header|Content-Type|multipart/form-data; boundary=----WebKitFormBoundaryEQhxWUv9r38x3LyB +Request-Header|Host|192.168.0.119:9090 +Request-Header|Origin|http://192.168.0.119:9090 +Request-Header|Referer|http://192.168.0.119:9090/form-fileupload-multi.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0.3 Safari/604.5.6 +Parts-Count|4 +Part-ContainsContents|description|the larger icon +Part-ContainsContents|alternate|text.raw +Part-Filename|file|jetty-avatar-256.png +Part-Sha1sum|file|e75b73644afe9b234d70da9ff225229de68cdff8 +Part-Filename|file-alt|text.raw +Part-Sha1sum|file-alt|5fb031816a27d80cc88c390819addab0ec3c189b diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-safari.raw b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-safari.raw new file mode 100644 index 00000000000..125321970b1 Binary files /dev/null and b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-alt-safari.raw differ diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-android-chrome.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-android-chrome.expected.txt new file mode 100644 index 00000000000..ef15f1eba25 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-android-chrome.expected.txt @@ -0,0 +1,17 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US,en;q=0.9 +Request-Header|Cache-Control|max-age=0 +Request-Header|Connection|keep-alive +Request-Header|Content-Length|22054 +Request-Header|Content-Type|multipart/form-data; boundary=----WebKitFormBoundary2oBNepLIldUG8YwL +Request-Header|DNT|1 +Request-Header|Host|192.168.0.119:9090 +Request-Header|Origin|http://192.168.0.119:9090 +Request-Header|Referer|http://192.168.0.119:9090/form-fileupload.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Linux; Android 8.1.0; Pixel 2 XL Build/OPM1.171019.021) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.109 Mobile Safari/537.36 +Parts-Count|2 +Part-ContainsContents|description|the larger icon +Part-Filename|file|jetty-avatar-256.png +Part-Sha1sum|file|e75b73644afe9b234d70da9ff225229de68cdff8 diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-android-chrome.raw b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-android-chrome.raw new file mode 100644 index 00000000000..2263dfdaf68 Binary files /dev/null and b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-android-chrome.raw differ diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-android-firefox.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-android-firefox.expected.txt new file mode 100644 index 00000000000..fceb88d1000 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-android-firefox.expected.txt @@ -0,0 +1,14 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US,en;q=0.5 +Request-Header|Connection|keep-alive +Request-Header|Content-Length|22105 +Request-Header|Content-Type|multipart/form-data; boundary=---------------------------2117751712556306154183865432 +Request-Header|Host|192.168.0.119:9090 +Request-Header|Referer|http://192.168.0.119:9090/form-fileupload.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Android 8.1.0; Mobile; rv:59.0) Gecko/59.0 Firefox/59.0 +Parts-Count|2 +Part-ContainsContents|description|the larger icon +Part-Filename|file|jetty-avatar-256.png +Part-Sha1sum|file|e75b73644afe9b234d70da9ff225229de68cdff8 diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-android-firefox.raw b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-android-firefox.raw new file mode 100644 index 00000000000..3492fddbe80 Binary files /dev/null and b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-android-firefox.raw differ diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-chrome.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-chrome.expected.txt new file mode 100644 index 00000000000..491fe431b37 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-chrome.expected.txt @@ -0,0 +1,18 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate, br +Request-Header|Accept-Language|en-US,en;q=0.9 +Request-Header|Cache-Control|max-age=0 +Request-Header|Connection|keep-alive +Request-Header|Content-Length|22054 +Request-Header|Content-Type|multipart/form-data; boundary=----WebKitFormBoundarylxcKjAyTlRs3jNP2 +Request-Header|Cookie|visited=yes +Request-Header|DNT|1 +Request-Header|Host|localhost:9090 +Request-Header|Origin|http://localhost:9090 +Request-Header|Referer|http://localhost:9090/form-fileupload.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36 +Parts-Count|2 +Part-ContainsContents|description|the larger icon +Part-Filename|file|jetty-avatar-256.png +Part-Sha1sum|file|e75b73644afe9b234d70da9ff225229de68cdff8 diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-chrome.raw b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-chrome.raw new file mode 100644 index 00000000000..b31c8858989 Binary files /dev/null and b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-chrome.raw differ diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-edge.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-edge.expected.txt new file mode 100644 index 00000000000..3086e324bc9 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-edge.expected.txt @@ -0,0 +1,14 @@ +Request-Header|Accept|text/html, application/xhtml+xml, image/jxr, */* +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US +Request-Header|Cache-Control|no-cache +Request-Header|Connection|keep-alive +Request-Header|Content-Length|22085 +Request-Header|Content-Type|multipart/form-data; boundary=---------------------------7e225f6151054 +Request-Header|Host|localhost:9090 +Request-Header|Referer|http://localhost:9090/form-fileupload.html +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299 +Parts-Count|2 +Part-ContainsContents|description|the larger icon +Part-Filename|file|C:\Users\joakim\Pictures\jetty-avatar-256.png +Part-Sha1sum|file|e75b73644afe9b234d70da9ff225229de68cdff8 diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-edge.raw b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-edge.raw new file mode 100644 index 00000000000..6f60b77cd3e Binary files /dev/null and b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-edge.raw differ diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-firefox.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-firefox.expected.txt new file mode 100644 index 00000000000..6b138ba5bb6 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-firefox.expected.txt @@ -0,0 +1,14 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US,en;q=0.5 +Request-Header|Connection|keep-alive +Request-Header|Content-Length|22063 +Request-Header|Content-Type|multipart/form-data; boundary=---------------------------24464570528145 +Request-Header|Host|localhost:9090 +Request-Header|Referer|http://localhost:9090/form-fileupload.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0 +Parts-Count|2 +Part-ContainsContents|description|the larger icon +Part-Filename|file|jetty-avatar-256.png +Part-Sha1sum|file|e75b73644afe9b234d70da9ff225229de68cdff8 \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-firefox.raw b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-firefox.raw new file mode 100644 index 00000000000..cb14119752f Binary files /dev/null and b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-firefox.raw differ diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-ios-safari.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-ios-safari.expected.txt new file mode 100644 index 00000000000..3620ce269c0 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-ios-safari.expected.txt @@ -0,0 +1,15 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-us +Request-Header|Connection|keep-alive +Request-Header|Content-Length|22074 +Request-Header|Content-Type|multipart/form-data; boundary=----WebKitFormBoundary5trdx3OwYr8uMtbA +Request-Header|Host|192.168.0.119:9090 +Request-Header|Origin|http://192.168.0.119:9090 +Request-Header|Referer|http://192.168.0.119:9090/form-fileupload.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (iPad; CPU OS 11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0 Mobile/15D100 Safari/604.1 +Parts-Count|2 +Part-ContainsContents|description|the larger icon +Part-Filename|file|66A4F66B-9B37-4F69-86A7-456547EBF079.png +Part-Sha1sum|file|e75b73644afe9b234d70da9ff225229de68cdff8 \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-ios-safari.raw b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-ios-safari.raw new file mode 100644 index 00000000000..24fbac72d3e Binary files /dev/null and b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-ios-safari.raw differ diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-msie.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-msie.expected.txt new file mode 100644 index 00000000000..e2f6482cadb --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-msie.expected.txt @@ -0,0 +1,14 @@ +Request-Header|Accept|text/html, application/xhtml+xml, image/jxr, */* +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US +Request-Header|Cache-Control|no-cache +Request-Header|Connection|keep-alive +Request-Header|Content-Length|22082 +Request-Header|Content-Type|multipart/form-data; boundary=---------------------------7e223ef2109c +Request-Header|Host|localhost:9090 +Request-Header|Referer|http://localhost:9090/form-fileupload.html +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko +Parts-Count|2 +Part-ContainsContents|description|the larger icon +Part-Filename|file|C:\Users\joakim\Pictures\jetty-avatar-256.png +Part-Sha1sum|file|e75b73644afe9b234d70da9ff225229de68cdff8 \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-msie.raw b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-msie.raw new file mode 100644 index 00000000000..9b27e7677b4 Binary files /dev/null and b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-msie.raw differ diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-safari.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-safari.expected.txt new file mode 100644 index 00000000000..9dd87813730 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-safari.expected.txt @@ -0,0 +1,15 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-us +Request-Header|Connection|keep-alive +Request-Header|Content-Length|22054 +Request-Header|Content-Type|multipart/form-data; boundary=----WebKitFormBoundaryWl9yEX5Fas0SI2xc +Request-Header|Host|192.168.0.119:9090 +Request-Header|Origin|http://192.168.0.119:9090 +Request-Header|Referer|http://192.168.0.119:9090/form-fileupload.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0.3 Safari/604.5.6 +Parts-Count|2 +Part-ContainsContents|description|the larger icon +Part-Filename|file|jetty-avatar-256.png +Part-Sha1sum|file|e75b73644afe9b234d70da9ff225229de68cdff8 diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-safari.raw b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-safari.raw new file mode 100644 index 00000000000..3b6922522eb Binary files /dev/null and b/jetty-http/src/test/resources/multipart/browser-capture-form-fileupload-safari.raw differ diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form1-android-chrome.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form1-android-chrome.expected.txt new file mode 100644 index 00000000000..271e31b1181 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form1-android-chrome.expected.txt @@ -0,0 +1,16 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US,en;q=0.9 +Request-Header|Cache-Control|max-age=0 +Request-Header|Connection|keep-alive +Request-Header|Content-Length|245 +Request-Header|Content-Type|multipart/form-data; boundary=----WebKitFormBoundaryD4GyXQgjBRmK3aBz +Request-Header|DNT|1 +Request-Header|Host|192.168.0.119:9090 +Request-Header|Origin|http://192.168.0.119:9090 +Request-Header|Referer|http://192.168.0.119:9090/form.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Linux; Android 8.1.0; Pixel 2 XL Build/OPM1.171019.021) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.109 Mobile Safari/537.36 +Parts-Count|2 +Part-ContainsContents|user|Androiduser +Part-ContainsContents|comment|Dyac! \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form1-android-chrome.raw b/jetty-http/src/test/resources/multipart/browser-capture-form1-android-chrome.raw new file mode 100644 index 00000000000..f5ce1cab07d --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form1-android-chrome.raw @@ -0,0 +1,9 @@ +------WebKitFormBoundaryD4GyXQgjBRmK3aBz +Content-Disposition: form-data; name="user" + +Androiduser +------WebKitFormBoundaryD4GyXQgjBRmK3aBz +Content-Disposition: form-data; name="comment" + +Dyac! +------WebKitFormBoundaryD4GyXQgjBRmK3aBz-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form1-android-firefox.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form1-android-firefox.expected.txt new file mode 100644 index 00000000000..9f7d2307e87 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form1-android-firefox.expected.txt @@ -0,0 +1,13 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US,en;q=0.5 +Request-Header|Connection|keep-alive +Request-Header|Content-Length|306 +Request-Header|Content-Type|multipart/form-data; boundary=---------------------------6390283156237600831344307695 +Request-Header|Host|192.168.0.119:9090 +Request-Header|Referer|http://192.168.0.119:9090/form.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Android 8.1.0; Mobile; rv:59.0) Gecko/59.0 Firefox/59.0 +Parts-Count|2 +Part-ContainsContents|user|androidfireuser +Part-ContainsContents|comment|More to say \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form1-android-firefox.raw b/jetty-http/src/test/resources/multipart/browser-capture-form1-android-firefox.raw new file mode 100644 index 00000000000..75dbbde1a6f --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form1-android-firefox.raw @@ -0,0 +1,9 @@ +-----------------------------6390283156237600831344307695 +Content-Disposition: form-data; name="user" + +androidfireuser +-----------------------------6390283156237600831344307695 +Content-Disposition: form-data; name="comment" + +More to say +-----------------------------6390283156237600831344307695-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form1-chrome.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form1-chrome.expected.txt new file mode 100644 index 00000000000..d36342fb640 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form1-chrome.expected.txt @@ -0,0 +1,17 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate, br +Request-Header|Accept-Language|en-US,en;q=0.9 +Request-Header|Cache-Control|max-age=0 +Request-Header|Connection|keep-alive +Request-Header|Content-Length|256 +Request-Header|Content-Type|multipart/form-data; boundary=----WebKitFormBoundary46EP6zTN86hbbaJC +Request-Header|Cookie|visited=yes +Request-Header|DNT|1 +Request-Header|Host|localhost:9090 +Request-Header|Origin|http://localhost:9090 +Request-Header|Referer|http://localhost:9090/form.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36 +Parts-Count|2 +Part-ContainsContents|user|joe +Part-ContainsContents|comment|this is a simple comment \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form1-chrome.raw b/jetty-http/src/test/resources/multipart/browser-capture-form1-chrome.raw new file mode 100644 index 00000000000..7f8bfc267d8 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form1-chrome.raw @@ -0,0 +1,9 @@ +------WebKitFormBoundary46EP6zTN86hbbaJC +Content-Disposition: form-data; name="user" + +joe +------WebKitFormBoundary46EP6zTN86hbbaJC +Content-Disposition: form-data; name="comment" + +this is a simple comment +------WebKitFormBoundary46EP6zTN86hbbaJC-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form1-edge.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form1-edge.expected.txt new file mode 100644 index 00000000000..0b7f887ddc6 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form1-edge.expected.txt @@ -0,0 +1,13 @@ +Request-Header|Accept|text/html, application/xhtml+xml, image/jxr, */* +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US +Request-Header|Cache-Control|no-cache +Request-Header|Connection|keep-alive +Request-Header|Content-Length|267 +Request-Header|Content-Type|multipart/form-data; boundary=---------------------------7e25e1e151054 +Request-Header|Host|localhost:9090 +Request-Header|Referer|http://localhost:9090/form.html +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299 +Parts-Count|2 +Part-ContainsContents|user|anotheruser +Part-ContainsContents|comment|with something to say \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form1-edge.raw b/jetty-http/src/test/resources/multipart/browser-capture-form1-edge.raw new file mode 100644 index 00000000000..48aa4e73f1c --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form1-edge.raw @@ -0,0 +1,9 @@ +-----------------------------7e25e1e151054 +Content-Disposition: form-data; name="user" + +anotheruser +-----------------------------7e25e1e151054 +Content-Disposition: form-data; name="comment" + +with something to say +-----------------------------7e25e1e151054-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form1-firefox.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form1-firefox.expected.txt new file mode 100644 index 00000000000..9f0e4ee9899 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form1-firefox.expected.txt @@ -0,0 +1,13 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US,en;q=0.5 +Request-Header|Connection|keep-alive +Request-Header|Content-Length|258 +Request-Header|Content-Type|multipart/form-data; boundary=---------------------------41184676334 +Request-Header|Host|localhost:9090 +Request-Header|Referer|http://localhost:9090/form.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0 +Parts-Count|2 +Part-ContainsContents|user|fireuser +Part-ContainsContents|comment|with detailed message \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form1-firefox.raw b/jetty-http/src/test/resources/multipart/browser-capture-form1-firefox.raw new file mode 100644 index 00000000000..a7c65315450 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form1-firefox.raw @@ -0,0 +1,9 @@ +-----------------------------41184676334 +Content-Disposition: form-data; name="user" + +fireuser +-----------------------------41184676334 +Content-Disposition: form-data; name="comment" + +with detailed message +-----------------------------41184676334-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form1-ios-safari.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form1-ios-safari.expected.txt new file mode 100644 index 00000000000..4d0533dfb0f --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form1-ios-safari.expected.txt @@ -0,0 +1,14 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-us +Request-Header|Connection|keep-alive +Request-Header|Content-Length|268 +Request-Header|Content-Type|multipart/form-data; boundary=----WebKitFormBoundary56m5uMm4gNcn4rL1 +Request-Header|Host|192.168.0.119:9090 +Request-Header|Origin|http://192.168.0.119:9090 +Request-Header|Referer|http://192.168.0.119:9090/form.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (iPad; CPU OS 11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0 Mobile/15D100 Safari/604.1 +Parts-Count|2 +Part-ContainsContents|user|UseriPad +Part-ContainsContents|comment|This form isn’t pretty \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form1-ios-safari.raw b/jetty-http/src/test/resources/multipart/browser-capture-form1-ios-safari.raw new file mode 100644 index 00000000000..9664c903572 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form1-ios-safari.raw @@ -0,0 +1,9 @@ +------WebKitFormBoundary56m5uMm4gNcn4rL1 +Content-Disposition: form-data; name="user" + +UseriPad +------WebKitFormBoundary56m5uMm4gNcn4rL1 +Content-Disposition: form-data; name="comment" + +This form isn’t pretty enough +------WebKitFormBoundary56m5uMm4gNcn4rL1-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form1-msie.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form1-msie.expected.txt new file mode 100644 index 00000000000..60cbe9e5956 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form1-msie.expected.txt @@ -0,0 +1,13 @@ +Request-Header|Accept|text/html, application/xhtml+xml, image/jxr, */* +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US +Request-Header|Cache-Control|no-cache +Request-Header|Connection|keep-alive +Request-Header|Content-Length|285 +Request-Header|Content-Type|multipart/form-data; boundary=---------------------------7e21b6f2109c +Request-Header|Host|localhost:9090 +Request-Header|Referer|http://localhost:9090/form.html +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko +Parts-Count|2 +Part-ContainsContents|user|msieuser +Part-ContainsContents|comment|with information that they think is important \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form1-msie.raw b/jetty-http/src/test/resources/multipart/browser-capture-form1-msie.raw new file mode 100644 index 00000000000..e562e721397 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form1-msie.raw @@ -0,0 +1,9 @@ +-----------------------------7e21b6f2109c +Content-Disposition: form-data; name="user" + +msieuser +-----------------------------7e21b6f2109c +Content-Disposition: form-data; name="comment" + +with information that they think is important +-----------------------------7e21b6f2109c-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form1-osx-safari.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-form1-osx-safari.expected.txt new file mode 100644 index 00000000000..236c06f15e8 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form1-osx-safari.expected.txt @@ -0,0 +1,14 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-us +Request-Header|Connection|keep-alive +Request-Header|Content-Length|284 +Request-Header|Content-Type|multipart/form-data; boundary=----WebKitFormBoundaryjwqONTsAFgubfMZc +Request-Header|Host|192.168.0.119:9090 +Request-Header|Origin|http://192.168.0.119:9090 +Request-Header|Referer|http://192.168.0.119:9090/form.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0.3 Safari/604.5.6 +Parts-Count|2 +Part-ContainsContents|user|safariuser +Part-ContainsContents|comment|with rambling thoughts about bellybutton lint \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-form1-osx-safari.raw b/jetty-http/src/test/resources/multipart/browser-capture-form1-osx-safari.raw new file mode 100644 index 00000000000..0e6b82ffd18 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-form1-osx-safari.raw @@ -0,0 +1,9 @@ +------WebKitFormBoundaryjwqONTsAFgubfMZc +Content-Disposition: form-data; name="user" + +safariuser +------WebKitFormBoundaryjwqONTsAFgubfMZc +Content-Disposition: form-data; name="comment" + +with rambling thoughts about bellybutton lint +------WebKitFormBoundaryjwqONTsAFgubfMZc-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-android-chrome.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-android-chrome.expected.txt new file mode 100644 index 00000000000..57ae9b6b42c --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-android-chrome.expected.txt @@ -0,0 +1,17 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US,en;q=0.9 +Request-Header|Cache-Control|max-age=0 +Request-Header|Connection|keep-alive +Request-Header|Content-Length|354 +Request-Header|Content-Type|multipart/form-data; boundary=----WebKitFormBoundaryN7pYBoDaXhEcUl13 +Request-Header|DNT|1 +Request-Header|Host|192.168.0.119:9090 +Request-Header|Origin|http://192.168.0.119:9090 +Request-Header|Referer|http://192.168.0.119:9090/sjis-form-charset.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Linux; Android 8.1.0; Pixel 2 XL Build/OPM1.171019.021) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.109 Mobile Safari/537.36 +Parts-Count|3 +Part-ContainsContents|_charset_|Shift_JIS +Part-ContainsContents|japanese|健治 +Part-ContainsContents|hello|ャユ戆タ \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-android-chrome.raw b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-android-chrome.raw new file mode 100644 index 00000000000..5c77075588e --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-android-chrome.raw @@ -0,0 +1,13 @@ +------WebKitFormBoundaryN7pYBoDaXhEcUl13 +Content-Disposition: form-data; name="_charset_" + +Shift_JIS +------WebKitFormBoundaryN7pYBoDaXhEcUl13 +Content-Disposition: form-data; name="japanese" + + +------WebKitFormBoundaryN7pYBoDaXhEcUl13 +Content-Disposition: form-data; name="hello" + +戆^ +------WebKitFormBoundaryN7pYBoDaXhEcUl13-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-android-firefox.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-android-firefox.expected.txt new file mode 100644 index 00000000000..b8ad28cd14f --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-android-firefox.expected.txt @@ -0,0 +1,14 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US,en;q=0.5 +Request-Header|Connection|keep-alive +Request-Header|Content-Length|430 +Request-Header|Content-Type|multipart/form-data; boundary=---------------------------117031256520586657911714164254 +Request-Header|Host|192.168.0.119:9090 +Request-Header|Referer|http://192.168.0.119:9090/sjis-form-charset.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Android 8.1.0; Mobile; rv:59.0) Gecko/59.0 Firefox/59.0 +Parts-Count|3 +Part-ContainsContents|_charset_|Shift_JIS +Part-ContainsContents|japanese|健治 +Part-ContainsContents|hello|ャユ戆タ \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-android-firefox.raw b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-android-firefox.raw new file mode 100644 index 00000000000..b3c4ae8f72e --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-android-firefox.raw @@ -0,0 +1,13 @@ +-----------------------------117031256520586657911714164254 +Content-Disposition: form-data; name="_charset_" + +Shift_JIS +-----------------------------117031256520586657911714164254 +Content-Disposition: form-data; name="japanese" + + +-----------------------------117031256520586657911714164254 +Content-Disposition: form-data; name="hello" + +戆^ +-----------------------------117031256520586657911714164254-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-chrome.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-chrome.expected.txt new file mode 100644 index 00000000000..ffa6809c986 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-chrome.expected.txt @@ -0,0 +1,18 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate, br +Request-Header|Accept-Language|en-US,en;q=0.9 +Request-Header|Cache-Control|max-age=0 +Request-Header|Connection|keep-alive +Request-Header|Content-Length|354 +Request-Header|Content-Type|multipart/form-data; boundary=----WebKitFormBoundaryDHtjXxgNUcgLjcKs +Request-Header|Cookie|visited=yes +Request-Header|DNT|1 +Request-Header|Host|localhost:9090 +Request-Header|Origin|http://localhost:9090 +Request-Header|Referer|http://localhost:9090/sjis-form-charset.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36 +Parts-Count|3 +Part-ContainsContents|_charset_|Shift_JIS +Part-ContainsContents|japanese|健治 +Part-ContainsContents|hello|ャユ戆タ \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-chrome.raw b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-chrome.raw new file mode 100644 index 00000000000..64314612ecc --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-chrome.raw @@ -0,0 +1,13 @@ +------WebKitFormBoundaryDHtjXxgNUcgLjcKs +Content-Disposition: form-data; name="_charset_" + +Shift_JIS +------WebKitFormBoundaryDHtjXxgNUcgLjcKs +Content-Disposition: form-data; name="japanese" + + +------WebKitFormBoundaryDHtjXxgNUcgLjcKs +Content-Disposition: form-data; name="hello" + +戆^ +------WebKitFormBoundaryDHtjXxgNUcgLjcKs-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-edge.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-edge.expected.txt new file mode 100644 index 00000000000..4b4cc724c95 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-edge.expected.txt @@ -0,0 +1,14 @@ +Request-Header|Accept|text/html, application/xhtml+xml, image/jxr, */* +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US +Request-Header|Cache-Control|no-cache +Request-Header|Connection|keep-alive +Request-Header|Content-Length|362 +Request-Header|Content-Type|multipart/form-data; boundary=---------------------------7e227e17151054 +Request-Header|Host|localhost:9090 +Request-Header|Referer|http://localhost:9090/sjis-form-charset.html +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299 +Parts-Count|3 +Part-ContainsContents|_charset_|utf-8 +Part-ContainsContents|japanese|健治 +Part-ContainsContents|hello|ャユ戆タ \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-edge.raw b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-edge.raw new file mode 100644 index 00000000000..71dac77ca76 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-edge.raw @@ -0,0 +1,13 @@ +-----------------------------7e227e17151054 +Content-Disposition: form-data; name="_charset_" + +utf-8 +-----------------------------7e227e17151054 +Content-Disposition: form-data; name="japanese" + +健治 +-----------------------------7e227e17151054 +Content-Disposition: form-data; name="hello" + +ャユ戆タ +-----------------------------7e227e17151054-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-firefox.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-firefox.expected.txt new file mode 100644 index 00000000000..cb6458d4e2f --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-firefox.expected.txt @@ -0,0 +1,14 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US,en;q=0.5 +Request-Header|Connection|keep-alive +Request-Header|Content-Length|370 +Request-Header|Content-Type|multipart/form-data; boundary=---------------------------114782935826962 +Request-Header|Host|localhost:9090 +Request-Header|Referer|http://localhost:9090/sjis-form-charset.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0 +Parts-Count|3 +Part-ContainsContents|_charset_|Shift_JIS +Part-ContainsContents|japanese|健治 +Part-ContainsContents|hello|ャユ戆タ \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-firefox.raw b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-firefox.raw new file mode 100644 index 00000000000..921df609d8a --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-firefox.raw @@ -0,0 +1,13 @@ +-----------------------------114782935826962 +Content-Disposition: form-data; name="_charset_" + +Shift_JIS +-----------------------------114782935826962 +Content-Disposition: form-data; name="japanese" + + +-----------------------------114782935826962 +Content-Disposition: form-data; name="hello" + +戆^ +-----------------------------114782935826962-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-ios-safari.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-ios-safari.expected.txt new file mode 100644 index 00000000000..c098400ec3d --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-ios-safari.expected.txt @@ -0,0 +1,15 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-us +Request-Header|Connection|keep-alive +Request-Header|Content-Length|354 +Request-Header|Content-Type|multipart/form-data; boundary=----WebKitFormBoundaryvshQXGBfIsRjfMBN +Request-Header|Host|192.168.0.119:9090 +Request-Header|Origin|http://192.168.0.119:9090 +Request-Header|Referer|http://192.168.0.119:9090/sjis-form-charset.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (iPad; CPU OS 11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0 Mobile/15D100 Safari/604.1 +Parts-Count|3 +Part-ContainsContents|_charset_|Shift_JIS +Part-ContainsContents|japanese|健治 +Part-ContainsContents|hello|ャユ戆タ \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-ios-safari.raw b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-ios-safari.raw new file mode 100644 index 00000000000..9892c9c05fe --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-ios-safari.raw @@ -0,0 +1,13 @@ +------WebKitFormBoundaryvshQXGBfIsRjfMBN +Content-Disposition: form-data; name="_charset_" + +Shift_JIS +------WebKitFormBoundaryvshQXGBfIsRjfMBN +Content-Disposition: form-data; name="japanese" + + +------WebKitFormBoundaryvshQXGBfIsRjfMBN +Content-Disposition: form-data; name="hello" + +戆^ +------WebKitFormBoundaryvshQXGBfIsRjfMBN-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-msie.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-msie.expected.txt new file mode 100644 index 00000000000..5d84aa6eb75 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-msie.expected.txt @@ -0,0 +1,14 @@ +Request-Header|Accept|text/html, application/xhtml+xml, image/jxr, */* +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US +Request-Header|Cache-Control|no-cache +Request-Header|Connection|keep-alive +Request-Header|Content-Length|358 +Request-Header|Content-Type|multipart/form-data; boundary=---------------------------7e226e1b2109c +Request-Header|Host|localhost:9090 +Request-Header|Referer|http://localhost:9090/sjis-form-charset.html +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko +Parts-Count|3 +Part-ContainsContents|_charset_|utf-8 +Part-ContainsContents|japanese|健治 +Part-ContainsContents|hello|ャユ戆タ \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-msie.raw b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-msie.raw new file mode 100644 index 00000000000..9a043e69d64 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-msie.raw @@ -0,0 +1,13 @@ +-----------------------------7e226e1b2109c +Content-Disposition: form-data; name="_charset_" + +utf-8 +-----------------------------7e226e1b2109c +Content-Disposition: form-data; name="japanese" + +健治 +-----------------------------7e226e1b2109c +Content-Disposition: form-data; name="hello" + +ャユ戆タ +-----------------------------7e226e1b2109c-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-safari.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-safari.expected.txt new file mode 100644 index 00000000000..39581ae2257 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-safari.expected.txt @@ -0,0 +1,15 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-us +Request-Header|Connection|keep-alive +Request-Header|Content-Length|354 +Request-Header|Content-Type|multipart/form-data; boundary=----WebKitFormBoundaryHFCTTESrC7sXQ2Gf +Request-Header|Host|192.168.0.119:9090 +Request-Header|Origin|http://192.168.0.119:9090 +Request-Header|Referer|http://192.168.0.119:9090/sjis-form-charset.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0.3 Safari/604.5.6 +Parts-Count|3 +Part-ContainsContents|_charset_|Shift_JIS +Part-ContainsContents|japanese|健治 +Part-ContainsContents|hello|ャユ戆タ \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-safari.raw b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-safari.raw new file mode 100644 index 00000000000..ce14357da86 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-charset-form-safari.raw @@ -0,0 +1,13 @@ +------WebKitFormBoundaryHFCTTESrC7sXQ2Gf +Content-Disposition: form-data; name="_charset_" + +Shift_JIS +------WebKitFormBoundaryHFCTTESrC7sXQ2Gf +Content-Disposition: form-data; name="japanese" + + +------WebKitFormBoundaryHFCTTESrC7sXQ2Gf +Content-Disposition: form-data; name="hello" + +戆^ +------WebKitFormBoundaryHFCTTESrC7sXQ2Gf-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-android-chrome.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-android-chrome.expected.txt new file mode 100644 index 00000000000..f5e2236ce9b --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-android-chrome.expected.txt @@ -0,0 +1,16 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US,en;q=0.9 +Request-Header|Cache-Control|max-age=0 +Request-Header|Connection|keep-alive +Request-Header|Content-Length|249 +Request-Header|Content-Type|multipart/form-data; boundary=----WebKitFormBoundaryjJR29nbr1TDUu2yh +Request-Header|DNT|1 +Request-Header|Host|192.168.0.119:9090 +Request-Header|Origin|http://192.168.0.119:9090 +Request-Header|Referer|http://192.168.0.119:9090/sjis-form.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Linux; Android 8.1.0; Pixel 2 XL Build/OPM1.171019.021) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.109 Mobile Safari/537.36 +Parts-Count|2 +Part-ContainsContents|japanese|健治 +Part-ContainsContents|hello|ャユ戆タ \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-android-chrome.raw b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-android-chrome.raw new file mode 100644 index 00000000000..618c30e3c98 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-android-chrome.raw @@ -0,0 +1,9 @@ +------WebKitFormBoundaryjJR29nbr1TDUu2yh +Content-Disposition: form-data; name="japanese" + + +------WebKitFormBoundaryjJR29nbr1TDUu2yh +Content-Disposition: form-data; name="hello" + +戆^ +------WebKitFormBoundaryjJR29nbr1TDUu2yh-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-android-firefox.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-android-firefox.expected.txt new file mode 100644 index 00000000000..b3baf194689 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-android-firefox.expected.txt @@ -0,0 +1,13 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US,en;q=0.5 +Request-Header|Connection|keep-alive +Request-Header|Content-Length|303 +Request-Header|Content-Type|multipart/form-data; boundary=---------------------------18591390852002031541755421242 +Request-Header|Host|192.168.0.119:9090 +Request-Header|Referer|http://192.168.0.119:9090/sjis-form.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Android 8.1.0; Mobile; rv:59.0) Gecko/59.0 Firefox/59.0 +Parts-Count|2 +Part-ContainsContents|japanese|健治 +Part-ContainsContents|hello|ャユ戆タ \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-android-firefox.raw b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-android-firefox.raw new file mode 100644 index 00000000000..5c8d5b47190 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-android-firefox.raw @@ -0,0 +1,9 @@ +-----------------------------18591390852002031541755421242 +Content-Disposition: form-data; name="japanese" + + +-----------------------------18591390852002031541755421242 +Content-Disposition: form-data; name="hello" + +戆^ +-----------------------------18591390852002031541755421242-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-chrome.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-chrome.expected.txt new file mode 100644 index 00000000000..6cba2d9e365 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-chrome.expected.txt @@ -0,0 +1,17 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate, br +Request-Header|Accept-Language|en-US,en;q=0.9 +Request-Header|Cache-Control|max-age=0 +Request-Header|Connection|keep-alive +Request-Header|Content-Length|249 +Request-Header|Content-Type|multipart/form-data; boundary=----WebKitFormBoundarysKD6As9BBil2g6Fc +Request-Header|Cookie|visited=yes +Request-Header|DNT|1 +Request-Header|Host|localhost:9090 +Request-Header|Origin|http://localhost:9090 +Request-Header|Referer|http://localhost:9090/sjis-form.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36 +Parts-Count|2 +Part-ContainsContents|japanese|健治 +Part-ContainsContents|hello|ャユ戆タ \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-chrome.raw b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-chrome.raw new file mode 100644 index 00000000000..02e44b0913e --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-chrome.raw @@ -0,0 +1,9 @@ +------WebKitFormBoundarysKD6As9BBil2g6Fc +Content-Disposition: form-data; name="japanese" + + +------WebKitFormBoundarysKD6As9BBil2g6Fc +Content-Disposition: form-data; name="hello" + +戆^ +------WebKitFormBoundarysKD6As9BBil2g6Fc-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-edge.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-edge.expected.txt new file mode 100644 index 00000000000..f51c4cc1399 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-edge.expected.txt @@ -0,0 +1,13 @@ +Request-Header|Accept|text/html, application/xhtml+xml, image/jxr, */* +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US +Request-Header|Cache-Control|no-cache +Request-Header|Connection|keep-alive +Request-Header|Content-Length|255 +Request-Header|Content-Type|multipart/form-data; boundary=---------------------------7e28636151054 +Request-Header|Host|localhost:9090 +Request-Header|Referer|http://localhost:9090/sjis-form.html +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299 +Parts-Count|2 +Part-ContainsContents|japanese|健治 +Part-ContainsContents|hello|ャユ戆タ \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-edge.raw b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-edge.raw new file mode 100644 index 00000000000..b6a9a545c58 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-edge.raw @@ -0,0 +1,9 @@ +-----------------------------7e28636151054 +Content-Disposition: form-data; name="japanese" + +健治 +-----------------------------7e28636151054 +Content-Disposition: form-data; name="hello" + +ャユ戆タ +-----------------------------7e28636151054-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-firefox.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-firefox.expected.txt new file mode 100644 index 00000000000..ad25c45b321 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-firefox.expected.txt @@ -0,0 +1,13 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US,en;q=0.5 +Request-Header|Connection|keep-alive +Request-Header|Content-Length|261 +Request-Header|Content-Type|multipart/form-data; boundary=---------------------------265001916915724 +Request-Header|Host|localhost:9090 +Request-Header|Referer|http://localhost:9090/sjis-form.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0 +Parts-Count|2 +Part-ContainsContents|japanese|健治 +Part-ContainsContents|hello|ャユ戆タ \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-firefox.raw b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-firefox.raw new file mode 100644 index 00000000000..5c8def3fffc --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-firefox.raw @@ -0,0 +1,9 @@ +-----------------------------265001916915724 +Content-Disposition: form-data; name="japanese" + + +-----------------------------265001916915724 +Content-Disposition: form-data; name="hello" + +戆^ +-----------------------------265001916915724-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-ios-safari.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-ios-safari.expected.txt new file mode 100644 index 00000000000..e4b4d8168e7 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-ios-safari.expected.txt @@ -0,0 +1,14 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-us +Request-Header|Connection|keep-alive +Request-Header|Content-Length|249 +Request-Header|Content-Type|multipart/form-data; boundary=----WebKitFormBoundaryj1Xj6oPRT7sp3VPE +Request-Header|Host|192.168.0.119:9090 +Request-Header|Origin|http://192.168.0.119:9090 +Request-Header|Referer|http://192.168.0.119:9090/sjis-form.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (iPad; CPU OS 11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0 Mobile/15D100 Safari/604.1 +Parts-Count|2 +Part-ContainsContents|japanese|健治 +Part-ContainsContents|hello|ャユ戆タ \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-ios-safari.raw b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-ios-safari.raw new file mode 100644 index 00000000000..f0d39757789 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-ios-safari.raw @@ -0,0 +1,9 @@ +------WebKitFormBoundaryj1Xj6oPRT7sp3VPE +Content-Disposition: form-data; name="japanese" + + +------WebKitFormBoundaryj1Xj6oPRT7sp3VPE +Content-Disposition: form-data; name="hello" + +戆^ +------WebKitFormBoundaryj1Xj6oPRT7sp3VPE-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-msie.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-msie.expected.txt new file mode 100644 index 00000000000..d8ddc61a07e --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-msie.expected.txt @@ -0,0 +1,13 @@ +Request-Header|Accept|text/html, application/xhtml+xml, image/jxr, */* +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-US +Request-Header|Cache-Control|no-cache +Request-Header|Connection|keep-alive +Request-Header|Content-Length|255 +Request-Header|Content-Type|multipart/form-data; boundary=---------------------------7e21df392109c +Request-Header|Host|localhost:9090 +Request-Header|Referer|http://localhost:9090/sjis-form.html +Request-Header|User-Agent|Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko +Parts-Count|2 +Part-ContainsContents|japanese|健治 +Part-ContainsContents|hello|ャユ戆タ \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-msie.raw b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-msie.raw new file mode 100644 index 00000000000..b60882cec82 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-msie.raw @@ -0,0 +1,9 @@ +-----------------------------7e21df392109c +Content-Disposition: form-data; name="japanese" + +健治 +-----------------------------7e21df392109c +Content-Disposition: form-data; name="hello" + +ャユ戆タ +-----------------------------7e21df392109c-- diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-safari.expected.txt b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-safari.expected.txt new file mode 100644 index 00000000000..2acbd52718b --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-safari.expected.txt @@ -0,0 +1,14 @@ +Request-Header|Accept|text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Request-Header|Accept-Encoding|gzip, deflate +Request-Header|Accept-Language|en-us +Request-Header|Connection|keep-alive +Request-Header|Content-Length|249 +Request-Header|Content-Type|multipart/form-data; boundary=----WebKitFormBoundarytsFILMzOBBWaETUj +Request-Header|Host|192.168.0.119:9090 +Request-Header|Origin|http://192.168.0.119:9090 +Request-Header|Referer|http://192.168.0.119:9090/sjis-form.html +Request-Header|Upgrade-Insecure-Requests|1 +Request-Header|User-Agent|Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0.3 Safari/604.5.6 +Parts-Count|2 +Part-ContainsContents|japanese|健治 +Part-ContainsContents|hello|ャユ戆タ \ No newline at end of file diff --git a/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-safari.raw b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-safari.raw new file mode 100644 index 00000000000..82475faa9e7 --- /dev/null +++ b/jetty-http/src/test/resources/multipart/browser-capture-sjis-form-safari.raw @@ -0,0 +1,9 @@ +------WebKitFormBoundarytsFILMzOBBWaETUj +Content-Disposition: form-data; name="japanese" + + +------WebKitFormBoundarytsFILMzOBBWaETUj +Content-Disposition: form-data; name="hello" + +戆^ +------WebKitFormBoundarytsFILMzOBBWaETUj--