#2746 move jmh classes to a dedicated jmh module Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
This commit is contained in:
parent
d36da55626
commit
f4a0bfbdd8
|
@ -12,19 +12,6 @@ for (def os in oss) {
|
|||
|
||||
parallel builds
|
||||
|
||||
// jmh run
|
||||
/*
|
||||
stage("jmh-run") {
|
||||
node( 'jmh-build-node' ) {
|
||||
timeout( time: 120, unit: 'MINUTES' ) {
|
||||
withEnv( ["JAVA_HOME=${tool "jdk8"}"] ) {
|
||||
unstash name: 'perf-tests'
|
||||
sh "${env.JAVA_HOME}/bin/java -jar jetty-util/target/perf-test.jar -rff jetty-util/target/jmh_result.json -rf json"
|
||||
jmhReport 'jetty-util/target/jmh_result.json'
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
def getFullBuild(jdk, os) {
|
||||
return {
|
||||
|
@ -120,7 +107,6 @@ def getFullBuild(jdk, os) {
|
|||
[parserName: 'JavaC']];
|
||||
if (isMainBuild( jdk )) {
|
||||
// Collect up the jacoco execution results
|
||||
stash name: 'perf-tests', includes: 'jetty-util/target/perf-test.jar'
|
||||
def jacocoExcludes =
|
||||
// build tools
|
||||
"**/org/eclipse/jetty/ant/**" + ",**/org/eclipse/jetty/maven/**" +
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
#!groovy
|
||||
|
||||
|
||||
node("linux") {
|
||||
// System Dependent Locations
|
||||
def mvntool = tool name: 'maven3.5', type: 'hudson.tasks.Maven$MavenInstallation'
|
||||
def jdktool = tool name: "jdk8", type: 'hudson.model.JDK'
|
||||
def mvnName = 'maven3.5'
|
||||
def localRepo = "${env.JENKINS_HOME}/${env.EXECUTOR_NUMBER}"
|
||||
def settingsName = 'oss-settings.xml'
|
||||
def mavenOpts = '-Xms1g -Xmx4g -Djava.awt.headless=true'
|
||||
|
||||
// Environment
|
||||
List mvnEnv = ["PATH+MVN=${mvntool}/bin", "PATH+JDK=${jdktool}/bin", "JAVA_HOME=${jdktool}/", "MAVEN_HOME=${mvntool}"]
|
||||
mvnEnv.add("MAVEN_OPTS=$mavenOpts")
|
||||
|
||||
|
||||
stage("Checkout") {
|
||||
git url: 'https://github.com/eclipse/jetty.project.git', branch: 'jetty-9.4.x'
|
||||
}
|
||||
|
||||
stage("Compile") {
|
||||
withEnv(mvnEnv) {
|
||||
timeout(time: 15, unit: 'MINUTES') {
|
||||
withMaven(
|
||||
maven: mvnName,
|
||||
jdk: "jdk8",
|
||||
publisherStrategy: 'EXPLICIT',
|
||||
globalMavenSettingsConfig: settingsName,
|
||||
mavenOpts: mavenOpts,
|
||||
mavenLocalRepo: localRepo) {
|
||||
sh "mvn -V -B clean install -DskipTests -T6 -e"
|
||||
}
|
||||
|
||||
}
|
||||
stash name: 'perf-tests', includes: 'jetty-jmh/target/benchmarks.jar'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// jmh run
|
||||
|
||||
stage("jmh-run") {
|
||||
node( 'jmh-build-node' ) {
|
||||
timeout( time: 120, unit: 'MINUTES' ) {
|
||||
withEnv( ["JAVA_HOME=${tool "jdk8"}"] ) {
|
||||
unstash name: 'perf-tests'
|
||||
sh "${env.JAVA_HOME}/bin/java -jar jetty-jmh/target/benchmarks.jar -rff jetty-jmh/target/jmh_result.json -rf json"
|
||||
jmhReport 'jetty-jmh/target/jmh_result.json'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// vim: et:ts=2:sw=2:ft=groovy
|
|
@ -33,18 +33,6 @@
|
|||
<artifactId>jetty-test-helper</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.openjdk.jmh</groupId>
|
||||
<artifactId>jmh-core</artifactId>
|
||||
<version>${jmh.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.openjdk.jmh</groupId>
|
||||
<artifactId>jmh-generator-annprocess</artifactId>
|
||||
<version>${jmh.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
|
|
|
@ -0,0 +1,111 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.eclipse.jetty</groupId>
|
||||
<artifactId>jetty-project</artifactId>
|
||||
<version>9.4.12-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>jetty-jmh</artifactId>
|
||||
<name>Jetty :: Jmh</name>
|
||||
<description>Jmh classes for Jetty</description>
|
||||
<url>http://www.eclipse.org/jetty</url>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>findbugs-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<finalName>${jmhjar.name}</finalName>
|
||||
<shadeTestJar>true</shadeTestJar>
|
||||
<transformers>
|
||||
<transformer
|
||||
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
||||
<mainClass>org.openjdk.jmh.Main</mainClass>
|
||||
</transformer>
|
||||
</transformers>
|
||||
<filters>
|
||||
<filter>
|
||||
<artifact>*:*</artifact>
|
||||
<excludes>
|
||||
<exclude>META-INF/*.SF</exclude>
|
||||
<exclude>META-INF/*.DSA</exclude>
|
||||
<exclude>META-INF/*.RSA</exclude>
|
||||
</excludes>
|
||||
</filter>
|
||||
</filters>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<configuration>
|
||||
<!-- No point deploying jmh project -->
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.jetty</groupId>
|
||||
<artifactId>jetty-util</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.jetty</groupId>
|
||||
<artifactId>jetty-http</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.jetty</groupId>
|
||||
<artifactId>jetty-http</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<classifier>tests</classifier>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
<artifactId>javax.servlet-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.jetty.toolchain</groupId>
|
||||
<artifactId>jetty-test-helper</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.openjdk.jmh</groupId>
|
||||
<artifactId>jmh-core</artifactId>
|
||||
<version>${jmh.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.openjdk.jmh</groupId>
|
||||
<artifactId>jmh-generator-annprocess</artifactId>
|
||||
<version>${jmh.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
|
@ -20,6 +20,7 @@ package org.eclipse.jetty.http.jmh;
|
|||
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.StandardOpenOption;
|
||||
|
@ -33,7 +34,7 @@ import javax.servlet.http.Part;
|
|||
|
||||
import org.eclipse.jetty.http.MultiPartFormInputStream;
|
||||
import org.eclipse.jetty.http.MultiPartCaptureTest.MultipartExpectations;
|
||||
import org.eclipse.jetty.toolchain.test.MavenTestingUtils;
|
||||
import org.eclipse.jetty.toolchain.test.IO;
|
||||
import org.openjdk.jmh.annotations.Benchmark;
|
||||
import org.openjdk.jmh.annotations.BenchmarkMode;
|
||||
import org.openjdk.jmh.annotations.Level;
|
||||
|
@ -219,15 +220,23 @@ public class MultiPartBenchmark
|
|||
{
|
||||
for (String multiPart : data)
|
||||
{
|
||||
Path multipartRawFile = MavenTestingUtils.getTestResourcePathFile("multipart/" + multiPart + ".raw");
|
||||
Path expectationPath = MavenTestingUtils.getTestResourcePathFile("multipart/" + multiPart + ".expected.txt");
|
||||
//Path multipartRawFile = MavenTestingUtils.getTestResourcePathFile("multipart/" + multiPart + ".raw");
|
||||
String expectationPath = "multipart/" + multiPart + ".expected.txt";
|
||||
//Path expectationPath = MavenTestingUtils.getTestResourcePathFile("multipart/" + multiPart + ".expected.txt");
|
||||
|
||||
File expectationFile = File.createTempFile( expectationPath, ".tmp" );
|
||||
|
||||
try(InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(expectationPath);
|
||||
OutputStream os = Files.newOutputStream( expectationFile.toPath() )) {
|
||||
IO.copy( inputStream, os );
|
||||
}
|
||||
|
||||
Path outputDir = Files.createTempDirectory( "expected_output_jmh_jetty" );// new File("/tmp").toPath();
|
||||
|
||||
Path outputDir = new File("/tmp").toPath();
|
||||
|
||||
MultipartExpectations multipartExpectations = new MultipartExpectations(expectationPath);
|
||||
MultipartExpectations multipartExpectations = new MultipartExpectations(expectationFile.toPath());
|
||||
MultipartConfigElement config = newMultipartConfigElement(outputDir);
|
||||
|
||||
try (InputStream in = Files.newInputStream(multipartRawFile))
|
||||
try (InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream( "multipart/" + multiPart + ".raw" ))
|
||||
{
|
||||
switch (parserType)
|
||||
{
|
|
@ -0,0 +1,4 @@
|
|||
org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog
|
||||
#org.eclipse.jetty.LEVEL=DEBUG
|
||||
#org.eclipse.jetty.server.LEVEL=DEBUG
|
||||
#org.eclipse.jetty.http.LEVEL=DEBUG
|
Binary file not shown.
|
@ -0,0 +1,9 @@
|
|||
Request-Header|Accept-Encoding|gzip,deflate
|
||||
Request-Header|Connection|keep-alive
|
||||
Request-Header|Content-Length|248
|
||||
Request-Header|Content-Type|multipart/form-data; boundary=DHbU6ChASebwm4iE8z9Lakv4ybMmkp
|
||||
Request-Header|Host|localhost:9090
|
||||
Request-Header|User-Agent|Apache-HttpClient/4.5.5 (Java/1.8.0_162)
|
||||
Request-Header|X-BrowserId|apache-httpcomp
|
||||
Parts-Count|1
|
||||
Part-ContainsContents|company|bob+%26+frank%27s+shoe+repair
|
|
@ -0,0 +1,7 @@
|
|||
--DHbU6ChASebwm4iE8z9Lakv4ybMmkp
|
||||
Content-Disposition: form-data; name="company"
|
||||
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
bob+%26+frank%27s+shoe+repair
|
||||
--DHbU6ChASebwm4iE8z9Lakv4ybMmkp--
|
|
@ -0,0 +1,15 @@
|
|||
Request-Header|Accept-Encoding|gzip,deflate
|
||||
Request-Header|Connection|keep-alive
|
||||
Request-Header|Content-Length|22940
|
||||
Request-Header|Content-Type|multipart/form-data; boundary=owr6UQGvVNunA_sx2AsizBtyq_uK-OjsQXrF
|
||||
Request-Header|Host|localhost:9090
|
||||
Request-Header|User-Agent|Apache-HttpClient/4.5.5 (Java/1.8.0_162)
|
||||
Request-Header|X-BrowserId|apache-httpcomp
|
||||
Parts-Count|6
|
||||
Part-ContainsContents|pi|3.14159265358979323846264338327950288419716939937510
|
||||
Part-ContainsContents|company|bob & frank's shoe repair
|
||||
Part-ContainsContents|power|ꬵо𝗋ⲥ𝖾
|
||||
Part-ContainsContents|japanese|オープンソース
|
||||
Part-ContainsContents|hello|日食桟橋
|
||||
Part-Filename|upload_file|filename
|
||||
Part-Sha1sum|upload_file|e75b73644afe9b234d70da9ff225229de68cdff8
|
Binary file not shown.
|
@ -0,0 +1,15 @@
|
|||
Request-Header|Accept-Encoding|gzip
|
||||
Request-Header|Connection|close
|
||||
Request-Header|Content-Type|multipart/form-data; boundary=JettyHttpClientBoundary1275gffetpxz8o0q
|
||||
Request-Header|Host|localhost:9090
|
||||
Request-Header|Transfer-Encoding|chunked
|
||||
Request-Header|User-Agent|Jetty/9.4.9.v20180320
|
||||
Request-Header|X-BrowserId|jetty-client
|
||||
Parts-Count|6
|
||||
Part-ContainsContents|pi|3.14159265358979323846264338327950288419716939937510
|
||||
Part-ContainsContents|company|bob & frank's shoe repair
|
||||
Part-ContainsContents|power|ꬵо𝗋ⲥ𝖾
|
||||
Part-ContainsContents|japanese|オープンソース
|
||||
Part-ContainsContents|hello|日食桟橋
|
||||
Part-Filename|upload_file|filename
|
||||
Part-Sha1sum|upload_file|e75b73644afe9b234d70da9ff225229de68cdff8
|
Binary file not shown.
|
@ -0,0 +1,8 @@
|
|||
Request-Header|Accept-Encoding|gzip,deflate
|
||||
Request-Header|Connection|keep-alive
|
||||
Request-Header|Content-Length|1815
|
||||
Request-Header|Content-Type|multipart/form-data; boundary=QW3F8Fg64P2J2dpfEKGKlX0Q9QF2a8SK_7YH
|
||||
Request-Header|Host|localhost:9090
|
||||
Request-Header|User-Agent|Apache-HttpClient/4.5.5 (Java/1.8.0_162)
|
||||
Request-Header|X-BrowserId|apache-httpcomp
|
||||
Parts-Count|10
|
Binary file not shown.
|
@ -0,0 +1,8 @@
|
|||
Request-Header|Accept-Encoding|gzip
|
||||
Request-Header|Connection|close
|
||||
Request-Header|Content-Type|multipart/form-data; boundary=JettyHttpClientBoundary14beb4to333d91v8
|
||||
Request-Header|Host|localhost:9090
|
||||
Request-Header|Transfer-Encoding|chunked
|
||||
Request-Header|User-Agent|Jetty/9.4.9.v20180320
|
||||
Request-Header|X-BrowserId|jetty-client
|
||||
Parts-Count|10
|
|
@ -0,0 +1,51 @@
|
|||
--JettyHttpClientBoundary14beb4to333d91v8
|
||||
Content-Disposition: form-data; name="pi"
|
||||
Content-Type: text/plain;charset=UTF-8
|
||||
|
||||
3.14159265358979323846264338327950288419716939937510
|
||||
--JettyHttpClientBoundary14beb4to333d91v8
|
||||
Content-Disposition: form-data; name="pi"
|
||||
Content-Type: text/plain;charset=UTF-8
|
||||
|
||||
3.14159
|
||||
--JettyHttpClientBoundary14beb4to333d91v8
|
||||
Content-Disposition: form-data; name="pi"
|
||||
Content-Type: text/plain;charset=UTF-8
|
||||
|
||||
3
|
||||
--JettyHttpClientBoundary14beb4to333d91v8
|
||||
Content-Disposition: form-data; name="pi"
|
||||
Content-Type: text/plain;charset=UTF-8
|
||||
|
||||
π
|
||||
--JettyHttpClientBoundary14beb4to333d91v8
|
||||
Content-Disposition: form-data; name="pi"
|
||||
Content-Type: text/plain;charset=UTF-8
|
||||
|
||||
π
|
||||
--JettyHttpClientBoundary14beb4to333d91v8
|
||||
Content-Disposition: form-data; name="pi"
|
||||
Content-Type: text/plain;charset=UTF-8
|
||||
|
||||
%CF%80
|
||||
--JettyHttpClientBoundary14beb4to333d91v8
|
||||
Content-Disposition: form-data; name="pi"
|
||||
Content-Type: text/plain;charset=UTF-8
|
||||
|
||||
π = C/d
|
||||
--JettyHttpClientBoundary14beb4to333d91v8
|
||||
Content-Disposition: form-data; name="π"
|
||||
Content-Type: text/plain;charset=UTF-8
|
||||
|
||||
3.14
|
||||
--JettyHttpClientBoundary14beb4to333d91v8
|
||||
Content-Disposition: form-data; name="%CF%80"
|
||||
Content-Type: text/plain;charset=UTF-8
|
||||
|
||||
Approximately 3.14
|
||||
--JettyHttpClientBoundary14beb4to333d91v8
|
||||
Content-Disposition: form-data; name="%FE%FF%03%C0"
|
||||
Content-Type: text/plain;charset=UTF-8
|
||||
|
||||
Approximately 3.14
|
||||
--JettyHttpClientBoundary14beb4to333d91v8--
|
|
@ -0,0 +1,11 @@
|
|||
Request-Header|Accept-Encoding|gzip,deflate
|
||||
Request-Header|Connection|keep-alive
|
||||
Request-Header|Content-Length|31148
|
||||
Request-Header|Content-Type|multipart/form-data; boundary=qqr2YBBR31U4xVib4vaVuIsrwNY1iw
|
||||
Request-Header|Host|localhost:9090
|
||||
Request-Header|User-Agent|Apache-HttpClient/4.5.5 (Java/1.8.0_162)
|
||||
Request-Header|X-BrowserId|apache-httpcomp
|
||||
Parts-Count|169
|
||||
Part-ContainsContents|count|168
|
||||
Part-ContainsContents|persian-UTF-8|برج بابل
|
||||
Part-ContainsContents|persian-CESU-8|برج بابل
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,11 @@
|
|||
Request-Header|Accept-Encoding|gzip
|
||||
Request-Header|Connection|close
|
||||
Request-Header|Content-Type|multipart/form-data; boundary=JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Request-Header|Host|localhost:9090
|
||||
Request-Header|Transfer-Encoding|chunked
|
||||
Request-Header|User-Agent|Jetty/9.4.9.v20180320
|
||||
Request-Header|X-BrowserId|jetty-client
|
||||
Parts-Count|169
|
||||
Part-ContainsContents|count|168
|
||||
Part-ContainsContents|persian-UTF-8|برج بابل
|
||||
Part-ContainsContents|persian-CESU-8|برج بابل
|
|
@ -0,0 +1,846 @@
|
|||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-Big5"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-Big5-HKSCS"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-CESU-8"
|
||||
Content-Type: text/plain
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-EUC-JP"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-EUC-KR"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-GB18030"
|
||||
Content-Type: text/plain
|
||||
|
||||
<EFBFBD>1<EFBFBD>0<EFBFBD>1<EFBFBD>9<EFBFBD>1<EFBFBD>4 <20>1<EFBFBD>0<EFBFBD>1<EFBFBD>9<EFBFBD>1<EFBFBD>0<EFBFBD>1<EFBFBD>8
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-GB2312"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-GBK"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM-Thai"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM00858"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM01140"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM01141"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM01142"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM01143"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM01144"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM01145"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM01146"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM01147"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM01148"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM01149"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM037"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM1026"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM1047"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM273"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM277"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM278"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM280"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM284"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM285"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM290"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM297"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM420"
|
||||
Content-Type: text/plain
|
||||
|
||||
Xug@XVX<56>
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM424"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM437"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM500"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM775"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM850"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM852"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM855"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM857"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM860"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM861"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM862"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM863"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM864"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM865"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM866"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM868"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM869"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM870"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM871"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-IBM918"
|
||||
Content-Type: text/plain
|
||||
|
||||
???@????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-ISO-2022-JP"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-ISO-2022-JP-2"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-ISO-2022-KR"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-ISO-8859-1"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-ISO-8859-13"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-ISO-8859-15"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-ISO-8859-2"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-ISO-8859-3"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-ISO-8859-4"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-ISO-8859-5"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-ISO-8859-6"
|
||||
Content-Type: text/plain
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-ISO-8859-7"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-ISO-8859-8"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-ISO-8859-9"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-JIS_X0201"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-JIS_X0212-1990"
|
||||
Content-Type: text/plain
|
||||
|
||||
"D"D"D"D"D"D"D"D
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-KOI8-R"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-KOI8-U"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-Shift_JIS"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-TIS-620"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-US-ASCII"
|
||||
Content-Type: text/plain
|
||||
|
||||
??? ????
|
||||
--JettyHttpClientBoundary1jcfdl0zps9nf362
|
||||
Content-Disposition: form-data; name="persian-UTF-16"
|
||||
Content-Type: text/plain
|
||||
|
||||
<EFBFBD><EFBFBD>(1, |