rjack-jetty 6.1.22.1-java → 6.1.23.0-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.rdoc +3 -0
- data/Manifest.txt +8 -11
- data/README.rdoc +1 -1
- data/bin/rjack-jetty-service +1 -1
- data/lib/rjack-jetty.rb +1 -1
- data/lib/rjack-jetty/base.rb +3 -3
- data/lib/rjack-jetty/jetty-6.1.23.jar +0 -0
- data/lib/rjack-jetty/{jetty-rewrite-handler-6.1.22.jar → jetty-rewrite-handler-6.1.23.jar} +0 -0
- data/lib/rjack-jetty/jetty-util-6.1.23.jar +0 -0
- data/lib/rjack-jetty/rjack-jetty-1.0.jar +0 -0
- data/lib/rjack-jetty/test-servlets.rb +1 -1
- data/pom.xml +3 -3
- data/test/test_jetty.rb +1 -1
- data/webapps/test.war +0 -0
- metadata +38 -25
- data/Manifest.static +0 -18
- data/lib/rjack-jetty/jetty-6.1.22.jar +0 -0
- data/lib/rjack-jetty/jetty-util-6.1.22.jar +0 -0
- data/src/main/java/rjack/testservlets/PerfTestServlet.java +0 -153
- data/src/main/java/rjack/testservlets/SnoopServlet.java +0 -97
data/History.rdoc
CHANGED
data/Manifest.txt
CHANGED
|
@@ -1,24 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
History.rdoc
|
|
2
2
|
Manifest.txt
|
|
3
3
|
README.rdoc
|
|
4
|
-
History.rdoc
|
|
5
4
|
Rakefile
|
|
6
|
-
pom.xml
|
|
7
5
|
assembly.xml
|
|
6
|
+
pom.xml
|
|
7
|
+
bin/rjack-jetty-service
|
|
8
8
|
lib/rjack-jetty/base.rb
|
|
9
9
|
lib/rjack-jetty.rb
|
|
10
10
|
lib/rjack-jetty/rewrite.rb
|
|
11
11
|
lib/rjack-jetty/test-servlets.rb
|
|
12
|
-
bin/rjack-jetty-service
|
|
13
|
-
src/main/java/rjack/testservlets/PerfTestServlet.java
|
|
14
|
-
src/main/java/rjack/testservlets/SnoopServlet.java
|
|
15
|
-
test/test_jetty.rb
|
|
16
12
|
test/test.txt
|
|
17
|
-
|
|
13
|
+
test/test_jetty.rb
|
|
18
14
|
webapps/test/index.html
|
|
15
|
+
webapps/test/WEB-INF/web.xml
|
|
19
16
|
webapps/test.war
|
|
20
|
-
lib/rjack-jetty/jetty-6.1.
|
|
21
|
-
lib/rjack-jetty/jetty-rewrite-handler-6.1.
|
|
22
|
-
lib/rjack-jetty/jetty-util-6.1.
|
|
17
|
+
lib/rjack-jetty/jetty-6.1.23.jar
|
|
18
|
+
lib/rjack-jetty/jetty-rewrite-handler-6.1.23.jar
|
|
19
|
+
lib/rjack-jetty/jetty-util-6.1.23.jar
|
|
23
20
|
lib/rjack-jetty/rjack-jetty-1.0.jar
|
|
24
21
|
lib/rjack-jetty/servlet-api-2.5-20081211.jar
|
data/README.rdoc
CHANGED
|
@@ -59,7 +59,7 @@ No hard requirements, however:
|
|
|
59
59
|
|
|
60
60
|
=== rjack-jetty gem
|
|
61
61
|
|
|
62
|
-
Copyright (c) 2008-
|
|
62
|
+
Copyright (c) 2008-2010 David Kellum
|
|
63
63
|
|
|
64
64
|
Licensed under the Apache License, Version 2.0 (the "License"); you
|
|
65
65
|
may not use this file except in compliance with the License. You
|
data/bin/rjack-jetty-service
CHANGED
data/lib/rjack-jetty.rb
CHANGED
data/lib/rjack-jetty/base.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#--
|
|
2
|
-
# Copyright (
|
|
2
|
+
# Copyright (c) 2008-2010 David Kellum
|
|
3
3
|
#
|
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
|
5
5
|
# may not use this file except in compliance with the License. You
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
|
|
17
17
|
module RJack
|
|
18
18
|
module Jetty
|
|
19
|
-
JETTY_VERSION = '6.1.
|
|
20
|
-
VERSION = JETTY_VERSION + '.
|
|
19
|
+
JETTY_VERSION = '6.1.23'
|
|
20
|
+
VERSION = JETTY_VERSION + '.0'
|
|
21
21
|
SERVLET_API_VERSION = '2.5'
|
|
22
22
|
SERVLET_API_DATE = '20081211'
|
|
23
23
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/pom.xml
CHANGED
|
@@ -12,19 +12,19 @@
|
|
|
12
12
|
<dependency>
|
|
13
13
|
<groupId>org.mortbay.jetty</groupId>
|
|
14
14
|
<artifactId>jetty</artifactId>
|
|
15
|
-
<version>6.1.
|
|
15
|
+
<version>6.1.23</version>
|
|
16
16
|
</dependency>
|
|
17
17
|
|
|
18
18
|
<dependency>
|
|
19
19
|
<groupId>org.mortbay.jetty</groupId>
|
|
20
20
|
<artifactId>jetty-util</artifactId>
|
|
21
|
-
<version>6.1.
|
|
21
|
+
<version>6.1.23</version>
|
|
22
22
|
</dependency>
|
|
23
23
|
|
|
24
24
|
<dependency>
|
|
25
25
|
<groupId>org.mortbay.jetty</groupId>
|
|
26
26
|
<artifactId>jetty-rewrite-handler</artifactId>
|
|
27
|
-
<version>6.1.
|
|
27
|
+
<version>6.1.23</version>
|
|
28
28
|
</dependency>
|
|
29
29
|
|
|
30
30
|
</dependencies>
|
data/test/test_jetty.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env jruby
|
|
2
2
|
#.hashdot.profile += jruby-shortlived
|
|
3
3
|
#--
|
|
4
|
-
# Copyright (
|
|
4
|
+
# Copyright (c) 2008-2010 David Kellum
|
|
5
5
|
#
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
|
7
7
|
# may not use this file except in compliance with the License. You
|
data/webapps/test.war
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rjack-jetty
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
4
|
+
prerelease: false
|
|
5
|
+
segments:
|
|
6
|
+
- 6
|
|
7
|
+
- 1
|
|
8
|
+
- 23
|
|
9
|
+
- 0
|
|
10
|
+
version: 6.1.23.0
|
|
5
11
|
platform: java
|
|
6
12
|
authors:
|
|
7
13
|
- David Kellum
|
|
@@ -9,29 +15,37 @@ autorequire:
|
|
|
9
15
|
bindir: bin
|
|
10
16
|
cert_chain: []
|
|
11
17
|
|
|
12
|
-
date: 2010-
|
|
18
|
+
date: 2010-04-21 00:00:00 -07:00
|
|
13
19
|
default_executable:
|
|
14
20
|
dependencies:
|
|
15
21
|
- !ruby/object:Gem::Dependency
|
|
16
22
|
name: rjack-logback
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
prerelease: false
|
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
|
20
25
|
requirements:
|
|
21
26
|
- - ">="
|
|
22
27
|
- !ruby/object:Gem::Version
|
|
28
|
+
segments:
|
|
29
|
+
- 0
|
|
30
|
+
- 9
|
|
31
|
+
- 17
|
|
23
32
|
version: 0.9.17
|
|
24
|
-
|
|
33
|
+
type: :development
|
|
34
|
+
version_requirements: *id001
|
|
25
35
|
- !ruby/object:Gem::Dependency
|
|
26
36
|
name: rjack-tarpit
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
prerelease: false
|
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
|
30
39
|
requirements:
|
|
31
40
|
- - ~>
|
|
32
41
|
- !ruby/object:Gem::Version
|
|
33
|
-
|
|
34
|
-
|
|
42
|
+
segments:
|
|
43
|
+
- 1
|
|
44
|
+
- 2
|
|
45
|
+
- 1
|
|
46
|
+
version: 1.2.1
|
|
47
|
+
type: :development
|
|
48
|
+
version_requirements: *id002
|
|
35
49
|
description: |-
|
|
36
50
|
A gem packaging of the {Jetty Web Server}[http://www.mortbay.org/jetty/]
|
|
37
51
|
for JRuby:
|
|
@@ -56,28 +70,25 @@ extra_rdoc_files:
|
|
|
56
70
|
- README.rdoc
|
|
57
71
|
- History.rdoc
|
|
58
72
|
files:
|
|
59
|
-
-
|
|
73
|
+
- History.rdoc
|
|
60
74
|
- Manifest.txt
|
|
61
75
|
- README.rdoc
|
|
62
|
-
- History.rdoc
|
|
63
76
|
- Rakefile
|
|
64
|
-
- pom.xml
|
|
65
77
|
- assembly.xml
|
|
78
|
+
- pom.xml
|
|
79
|
+
- bin/rjack-jetty-service
|
|
66
80
|
- lib/rjack-jetty/base.rb
|
|
67
81
|
- lib/rjack-jetty.rb
|
|
68
82
|
- lib/rjack-jetty/rewrite.rb
|
|
69
83
|
- lib/rjack-jetty/test-servlets.rb
|
|
70
|
-
- bin/rjack-jetty-service
|
|
71
|
-
- src/main/java/rjack/testservlets/PerfTestServlet.java
|
|
72
|
-
- src/main/java/rjack/testservlets/SnoopServlet.java
|
|
73
|
-
- test/test_jetty.rb
|
|
74
84
|
- test/test.txt
|
|
75
|
-
-
|
|
85
|
+
- test/test_jetty.rb
|
|
76
86
|
- webapps/test/index.html
|
|
87
|
+
- webapps/test/WEB-INF/web.xml
|
|
77
88
|
- webapps/test.war
|
|
78
|
-
- lib/rjack-jetty/jetty-6.1.
|
|
79
|
-
- lib/rjack-jetty/jetty-rewrite-handler-6.1.
|
|
80
|
-
- lib/rjack-jetty/jetty-util-6.1.
|
|
89
|
+
- lib/rjack-jetty/jetty-6.1.23.jar
|
|
90
|
+
- lib/rjack-jetty/jetty-rewrite-handler-6.1.23.jar
|
|
91
|
+
- lib/rjack-jetty/jetty-util-6.1.23.jar
|
|
81
92
|
- lib/rjack-jetty/rjack-jetty-1.0.jar
|
|
82
93
|
- lib/rjack-jetty/servlet-api-2.5-20081211.jar
|
|
83
94
|
has_rdoc: true
|
|
@@ -94,18 +105,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
94
105
|
requirements:
|
|
95
106
|
- - ">="
|
|
96
107
|
- !ruby/object:Gem::Version
|
|
108
|
+
segments:
|
|
109
|
+
- 0
|
|
97
110
|
version: "0"
|
|
98
|
-
version:
|
|
99
111
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
100
112
|
requirements:
|
|
101
113
|
- - ">="
|
|
102
114
|
- !ruby/object:Gem::Version
|
|
115
|
+
segments:
|
|
116
|
+
- 0
|
|
103
117
|
version: "0"
|
|
104
|
-
version:
|
|
105
118
|
requirements: []
|
|
106
119
|
|
|
107
120
|
rubyforge_project: rjack
|
|
108
|
-
rubygems_version: 1.3.
|
|
121
|
+
rubygems_version: 1.3.6
|
|
109
122
|
signing_key:
|
|
110
123
|
specification_version: 3
|
|
111
124
|
summary: "A gem packaging of the {Jetty Web Server}[http://www.mortbay.org/jetty/] for JRuby: * Provides jetty, jetty-util, servlet-api, and jetty-rewrite-handler jars"
|
data/Manifest.static
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
Manifest.static
|
|
2
|
-
Manifest.txt
|
|
3
|
-
README.rdoc
|
|
4
|
-
History.rdoc
|
|
5
|
-
Rakefile
|
|
6
|
-
pom.xml
|
|
7
|
-
assembly.xml
|
|
8
|
-
lib/rjack-jetty/base.rb
|
|
9
|
-
lib/rjack-jetty.rb
|
|
10
|
-
lib/rjack-jetty/rewrite.rb
|
|
11
|
-
lib/rjack-jetty/test-servlets.rb
|
|
12
|
-
bin/rjack-jetty-service
|
|
13
|
-
src/main/java/rjack/testservlets/PerfTestServlet.java
|
|
14
|
-
src/main/java/rjack/testservlets/SnoopServlet.java
|
|
15
|
-
test/test_jetty.rb
|
|
16
|
-
test/test.txt
|
|
17
|
-
webapps/test/WEB-INF/web.xml
|
|
18
|
-
webapps/test/index.html
|
|
Binary file
|
|
Binary file
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2008 David Kellum
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
package rjack.testservlets;
|
|
18
|
-
|
|
19
|
-
import java.io.IOException;
|
|
20
|
-
import java.io.PrintWriter;
|
|
21
|
-
import java.math.BigInteger;
|
|
22
|
-
import java.util.Random;
|
|
23
|
-
|
|
24
|
-
import javax.servlet.ServletException;
|
|
25
|
-
import javax.servlet.http.HttpServlet;
|
|
26
|
-
import javax.servlet.http.HttpServletRequest;
|
|
27
|
-
import javax.servlet.http.HttpServletResponse;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Servlet for perform and chunked output testing.
|
|
31
|
-
* @author David Kellum
|
|
32
|
-
*/
|
|
33
|
-
public class PerfTestServlet extends HttpServlet
|
|
34
|
-
{
|
|
35
|
-
|
|
36
|
-
@Override
|
|
37
|
-
protected void doGet( HttpServletRequest req, HttpServletResponse resp )
|
|
38
|
-
throws ServletException, IOException
|
|
39
|
-
{
|
|
40
|
-
int delayConst = getParam( req, "delay", 0 );
|
|
41
|
-
int delayRandom = getParam( req, "rdelay", 0 );
|
|
42
|
-
|
|
43
|
-
int burnConst = getParam( req, "burn", 0 );
|
|
44
|
-
int burnRandom = getParam( req, "rburn", 0 );
|
|
45
|
-
|
|
46
|
-
int size = getParam( req, "size", 0 );
|
|
47
|
-
int sizeRandom = getParam( req, "rsize", 0 );
|
|
48
|
-
|
|
49
|
-
int count = getParam( req, "count", 0 );
|
|
50
|
-
count += random( getParam( req, "rcount", 0 ) );
|
|
51
|
-
|
|
52
|
-
resp.setContentType("text/html; charset=ISO-8859-1" );
|
|
53
|
-
|
|
54
|
-
PrintWriter out = resp.getWriter();
|
|
55
|
-
|
|
56
|
-
out.println( "<html>" );
|
|
57
|
-
out.println( "<head>" );
|
|
58
|
-
out.println( "<title>Wait/Flush Test</title>" );
|
|
59
|
-
out.println( "</head>" );
|
|
60
|
-
out.println( "<body>" );
|
|
61
|
-
|
|
62
|
-
out.println( "<h2>Usage</h2>" );
|
|
63
|
-
out.println( "<table><tr><th>GET Parameter</th><th>Meaning</th></tr>" );
|
|
64
|
-
out.println( "<tr><td>size</td><td>Chunk constant size ~characters.</td></tr>" );
|
|
65
|
-
out.println( "<tr><td>rsize</td><td>Chunk random [0,n) size ~characters.</td></tr>" );
|
|
66
|
-
out.println( "<tr><td>delay</td><td>Constant chunk delay in ms</td></tr>" );
|
|
67
|
-
out.println( "<tr><td>rdelay</td><td>Random [0,n) chunk delay in ms</td></tr>" );
|
|
68
|
-
out.println( "<tr><td>burn</td><td>Constant chunk CPU burn time in ms</td></tr>" );
|
|
69
|
-
out.println( "<tr><td>rburn</td><td>Random [0,n) chunk burn time in ms</td></tr>" );
|
|
70
|
-
out.println( "</table>" );
|
|
71
|
-
|
|
72
|
-
out.println( "<h2>Output</h2>" );
|
|
73
|
-
out.flush();
|
|
74
|
-
|
|
75
|
-
out.println( "<p>Writing " + count + " (delayed) chunks...</p>" );
|
|
76
|
-
out.flush();
|
|
77
|
-
|
|
78
|
-
try {
|
|
79
|
-
for( int b = 0; b < count; ++b ) {
|
|
80
|
-
|
|
81
|
-
long delay = delayConst + random( delayRandom );
|
|
82
|
-
if( delay > 0 ) Thread.sleep( delay );
|
|
83
|
-
|
|
84
|
-
int burn = burnConst + random ( burnRandom );
|
|
85
|
-
if( burn > 0 ) {
|
|
86
|
-
delay += burnTime( burn );
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
out.println( "<p>(Delayed " + delay + " ms) " );
|
|
90
|
-
|
|
91
|
-
int f = size + random( sizeRandom );
|
|
92
|
-
while( f > 0 ) {
|
|
93
|
-
out.print( FILLER );
|
|
94
|
-
f -= FILLER.length();
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
out.println( "</p>" );
|
|
98
|
-
out.flush();
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
catch( InterruptedException x ) {}
|
|
102
|
-
out.println( "</body>" );
|
|
103
|
-
out.println( "</html>" );
|
|
104
|
-
out.flush();
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
private long burnTime( int burn_ms )
|
|
108
|
-
{
|
|
109
|
-
long prime = 2;
|
|
110
|
-
long begin = System.currentTimeMillis();
|
|
111
|
-
long endTime = begin + burn_ms;
|
|
112
|
-
long last = 0;
|
|
113
|
-
do {
|
|
114
|
-
prime = BigInteger.probablePrime( 64, new Random() ).longValue();
|
|
115
|
-
last = System.currentTimeMillis();
|
|
116
|
-
} while( last < endTime );
|
|
117
|
-
|
|
118
|
-
if( prime == 2 ) {
|
|
119
|
-
throw new IllegalStateException( "Not a prime!" );
|
|
120
|
-
}
|
|
121
|
-
return last - begin;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
private int getParam( HttpServletRequest req, String name, int defVal )
|
|
125
|
-
{
|
|
126
|
-
int value = defVal;
|
|
127
|
-
String strVal = req.getParameter( name );
|
|
128
|
-
if( strVal != null ) {
|
|
129
|
-
value = Integer.parseInt( strVal );
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
return value;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
private int random( int range )
|
|
136
|
-
{
|
|
137
|
-
Random _random = new Random();
|
|
138
|
-
if( range > 0 ) return _random.nextInt( range );
|
|
139
|
-
return 0;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
private static final String FILLER =
|
|
143
|
-
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, " +
|
|
144
|
-
"sed do eiusmod tempor incididunt ut labore et dolore magna " +
|
|
145
|
-
"aliqua. Ut enim ad minim veniam, quis nostrud exercitation " +
|
|
146
|
-
"ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis " +
|
|
147
|
-
"aute irure dolor in reprehenderit in voluptate velit esse cillum " +
|
|
148
|
-
"dolore eu fugiat nulla pariatur. Excepteur sint occaecat " +
|
|
149
|
-
"cupidatat non proident, sunt in culpa qui officia deserunt " +
|
|
150
|
-
"mollit anim id est laborum. ";
|
|
151
|
-
|
|
152
|
-
private static final long serialVersionUID = 1L;
|
|
153
|
-
}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2008 David Kellum
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
package rjack.testservlets;
|
|
18
|
-
|
|
19
|
-
import java.io.IOException;
|
|
20
|
-
import java.io.PrintWriter;
|
|
21
|
-
import java.util.Enumeration;
|
|
22
|
-
|
|
23
|
-
import javax.servlet.ServletException;
|
|
24
|
-
import javax.servlet.http.Cookie;
|
|
25
|
-
import javax.servlet.http.HttpServlet;
|
|
26
|
-
import javax.servlet.http.HttpServletRequest;
|
|
27
|
-
import javax.servlet.http.HttpServletResponse;
|
|
28
|
-
|
|
29
|
-
public class SnoopServlet extends HttpServlet
|
|
30
|
-
{
|
|
31
|
-
|
|
32
|
-
@Override
|
|
33
|
-
protected void doGet( HttpServletRequest request,
|
|
34
|
-
HttpServletResponse response )
|
|
35
|
-
throws ServletException, IOException
|
|
36
|
-
{
|
|
37
|
-
response.setContentType("text/html; charset=UTF-8" );
|
|
38
|
-
|
|
39
|
-
PrintWriter out = response.getWriter();
|
|
40
|
-
|
|
41
|
-
out.println( "<html>" );
|
|
42
|
-
out.println( "<head>" );
|
|
43
|
-
out.println( "<title>Wait/Flush Test</title>" );
|
|
44
|
-
out.println( "</head>" );
|
|
45
|
-
out.println( "<body>" );
|
|
46
|
-
|
|
47
|
-
writeTableHeader( out, "Request Properties", "Property" );
|
|
48
|
-
writeRow( out, "Request URI", request.getRequestURI() );
|
|
49
|
-
writeRow( out, "HTTP Method", request.getMethod() );
|
|
50
|
-
writeRow( out, "Path Info", request.getPathInfo() );
|
|
51
|
-
writeRow( out, "Path Trans", request.getPathTranslated() );
|
|
52
|
-
writeRow( out, "Query String", request.getQueryString() );
|
|
53
|
-
writeRow( out, "Context Path", request.getContextPath() );
|
|
54
|
-
writeRow( out, "Servlet Path", request.getServletPath() );
|
|
55
|
-
writeRow( out, "Is Secure", String.valueOf( request.isSecure() ) );
|
|
56
|
-
writeRow( out, "Auth Type", request.getAuthType() );
|
|
57
|
-
writeRow( out, "Remote User", request.getRemoteUser() );
|
|
58
|
-
out.println( "</table>" );
|
|
59
|
-
|
|
60
|
-
writeTableHeader( out, "Request Headers", "Header" );
|
|
61
|
-
Enumeration<?> hNames = request.getHeaderNames();
|
|
62
|
-
while( hNames.hasMoreElements() ) {
|
|
63
|
-
String hname = hNames.nextElement().toString();
|
|
64
|
-
String hvalue = request.getHeader( hname );
|
|
65
|
-
writeRow( out, hname, hvalue );
|
|
66
|
-
}
|
|
67
|
-
out.println( "</table>" );
|
|
68
|
-
|
|
69
|
-
Cookie[] cookies = request.getCookies();
|
|
70
|
-
if (cookies != null) {
|
|
71
|
-
writeTableHeader( out, "Cookies", "Cookie" );
|
|
72
|
-
for( Cookie cookie : cookies ) {
|
|
73
|
-
writeRow( out, cookie.getName(), cookie.getValue() );
|
|
74
|
-
}
|
|
75
|
-
out.println( "</table>" );
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
out.println( "</body>" );
|
|
79
|
-
out.println( "</html>" );
|
|
80
|
-
out.close();
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
private void writeTableHeader( PrintWriter out,
|
|
84
|
-
String heading, String name )
|
|
85
|
-
{
|
|
86
|
-
out.println( "<h2>" + heading + "</h2>" );
|
|
87
|
-
out.println( "<table><tr><th>" + name + "</th><th>Value</th></tr>" );
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
private void writeRow( PrintWriter out, String name, String value )
|
|
91
|
-
{
|
|
92
|
-
out.println( String.format( "<tr><td>%s</td><td>%s</td></tr>",
|
|
93
|
-
name, value ) );
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
private static final long serialVersionUID = 1L;
|
|
97
|
-
}
|