rjack-jetty 6.1.22.1-java
Sign up to get free protection for your applications and to get access to all the features.
- data/History.rdoc +42 -0
- data/Manifest.static +18 -0
- data/Manifest.txt +24 -0
- data/README.rdoc +117 -0
- data/Rakefile +72 -0
- data/assembly.xml +19 -0
- data/bin/rjack-jetty-service +79 -0
- data/lib/rjack-jetty/base.rb +26 -0
- data/lib/rjack-jetty/jetty-6.1.22.jar +0 -0
- data/lib/rjack-jetty/jetty-rewrite-handler-6.1.22.jar +0 -0
- data/lib/rjack-jetty/jetty-util-6.1.22.jar +0 -0
- data/lib/rjack-jetty/rewrite.rb +2 -0
- data/lib/rjack-jetty/rjack-jetty-1.0.jar +0 -0
- data/lib/rjack-jetty/servlet-api-2.5-20081211.jar +0 -0
- data/lib/rjack-jetty/test-servlets.rb +36 -0
- data/lib/rjack-jetty.rb +272 -0
- data/pom.xml +67 -0
- data/src/main/java/rjack/testservlets/PerfTestServlet.java +153 -0
- data/src/main/java/rjack/testservlets/SnoopServlet.java +97 -0
- data/test/test.txt +1 -0
- data/test/test_jetty.rb +160 -0
- data/webapps/test/WEB-INF/web.xml +28 -0
- data/webapps/test/index.html +11 -0
- data/webapps/test.war +0 -0
- metadata +113 -0
data/test/test_jetty.rb
ADDED
@@ -0,0 +1,160 @@
|
|
1
|
+
#!/usr/bin/env jruby
|
2
|
+
#.hashdot.profile += jruby-shortlived
|
3
|
+
#--
|
4
|
+
# Copyright (C) 2008 David Kellum
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
7
|
+
# may not use this file except in compliance with the License. You
|
8
|
+
# may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
15
|
+
# implied. See the License for the specific language governing
|
16
|
+
# permissions and limitations under the License.
|
17
|
+
#++
|
18
|
+
|
19
|
+
TEST_DIR = File.dirname(__FILE__)
|
20
|
+
|
21
|
+
$LOAD_PATH.unshift File.join( TEST_DIR, "..", "lib" )
|
22
|
+
|
23
|
+
require 'rubygems'
|
24
|
+
|
25
|
+
# Disable jetty logging if rjack-slf4j is available
|
26
|
+
begin
|
27
|
+
gem( 'rjack-slf4j', '~> 1.5' )
|
28
|
+
require 'rjack-slf4j'
|
29
|
+
require 'rjack-slf4j/nop'
|
30
|
+
rescue Gem::LoadError
|
31
|
+
end
|
32
|
+
|
33
|
+
require 'rjack-jetty'
|
34
|
+
require 'rjack-jetty/test-servlets'
|
35
|
+
require 'test/unit'
|
36
|
+
require 'net/http'
|
37
|
+
|
38
|
+
include RJack
|
39
|
+
|
40
|
+
class TestJetty < Test::Unit::TestCase
|
41
|
+
|
42
|
+
def default_factory
|
43
|
+
factory = Jetty::ServerFactory.new
|
44
|
+
factory.max_threads = 1
|
45
|
+
factory.stop_at_shutdown = false
|
46
|
+
factory
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_start_stop
|
50
|
+
10.times do
|
51
|
+
factory = default_factory
|
52
|
+
factory.static_contexts[ '/' ] = TEST_DIR
|
53
|
+
server = factory.create
|
54
|
+
server.start
|
55
|
+
assert( server.is_started )
|
56
|
+
assert( server.connectors[0].local_port > 0 )
|
57
|
+
server.stop
|
58
|
+
assert( server.is_stopped )
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def test_static_context
|
63
|
+
factory = default_factory
|
64
|
+
factory.static_contexts[ '/' ] = TEST_DIR
|
65
|
+
server = factory.create
|
66
|
+
server.start
|
67
|
+
port = server.connectors[0].local_port
|
68
|
+
test_text = Net::HTTP.get( 'localhost', '/test.txt', port )
|
69
|
+
assert_equal( File.read( File.join( TEST_DIR, 'test.txt' ) ), test_text )
|
70
|
+
server.stop
|
71
|
+
end
|
72
|
+
|
73
|
+
import 'org.mortbay.jetty.handler.AbstractHandler'
|
74
|
+
class TestHandler < AbstractHandler
|
75
|
+
TEST_TEXT = 'test handler text'
|
76
|
+
|
77
|
+
def handle( target, request, response, dispatch )
|
78
|
+
response.content_type = "text/plain"
|
79
|
+
response.writer.write( TEST_TEXT )
|
80
|
+
request.handled = true
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
def test_custom_handler
|
85
|
+
factory = default_factory
|
86
|
+
def factory.create_pre_handlers
|
87
|
+
super << TestHandler.new
|
88
|
+
end
|
89
|
+
server = factory.create
|
90
|
+
server.start
|
91
|
+
port = server.connectors[0].local_port
|
92
|
+
assert_equal( TestHandler::TEST_TEXT,
|
93
|
+
Net::HTTP.get( 'localhost', '/whatever', port ) )
|
94
|
+
server.stop
|
95
|
+
end
|
96
|
+
|
97
|
+
import 'javax.servlet.http.HttpServlet'
|
98
|
+
class TestServlet < HttpServlet
|
99
|
+
def initialize( text )
|
100
|
+
super()
|
101
|
+
@text = text
|
102
|
+
end
|
103
|
+
|
104
|
+
def doGet( request, response )
|
105
|
+
response.content_type = "text/plain"
|
106
|
+
response.writer.write( @text )
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
def test_servlet_handler
|
111
|
+
factory = default_factory
|
112
|
+
factory.set_context_servlets( '/some',
|
113
|
+
{ '/test' => TestServlet.new( 'resp-test' ),
|
114
|
+
'/other' => TestServlet.new( 'resp-other' ) } )
|
115
|
+
|
116
|
+
factory.set_context_servlets( '/',
|
117
|
+
{ '/one' => TestServlet.new( 'resp-one' ),
|
118
|
+
'/snoop' => Jetty::TestServlets::SnoopServlet.new } )
|
119
|
+
|
120
|
+
server = factory.create
|
121
|
+
server.start
|
122
|
+
port = server.connectors[0].local_port
|
123
|
+
|
124
|
+
assert_equal( 'resp-test',
|
125
|
+
Net::HTTP.get( 'localhost', '/some/test', port ) )
|
126
|
+
assert_equal( 'resp-other',
|
127
|
+
Net::HTTP.get( 'localhost', '/some/other', port ) )
|
128
|
+
assert_equal( 'resp-one',
|
129
|
+
Net::HTTP.get( 'localhost', '/one', port ) )
|
130
|
+
|
131
|
+
response = Net::HTTP.get_response( 'localhost', '/', port )
|
132
|
+
assert( response.is_a?( Net::HTTPNotFound ) )
|
133
|
+
|
134
|
+
response = Net::HTTP.get_response( 'localhost', '/snoop', port )
|
135
|
+
assert( response.is_a?( Net::HTTPSuccess ) )
|
136
|
+
|
137
|
+
server.stop
|
138
|
+
end
|
139
|
+
|
140
|
+
def test_webapp
|
141
|
+
factory = default_factory
|
142
|
+
index_html = File.read(
|
143
|
+
File.join( Jetty::TestServlets::WEBAPP_TEST_EXPANDED, 'index.html' ) )
|
144
|
+
|
145
|
+
factory.webapp_contexts[ '/test' ] = Jetty::TestServlets::WEBAPP_TEST_WAR
|
146
|
+
factory.webapp_contexts[ '/expanded' ] = Jetty::TestServlets::WEBAPP_TEST_EXPANDED
|
147
|
+
|
148
|
+
server = factory.create
|
149
|
+
server.start
|
150
|
+
port = server.connectors[0].local_port
|
151
|
+
|
152
|
+
assert_equal( index_html, Net::HTTP.get( 'localhost', '/test/', port ) )
|
153
|
+
assert_equal( index_html, Net::HTTP.get( 'localhost', '/expanded/', port ) )
|
154
|
+
|
155
|
+
response = Net::HTTP.get_response( 'localhost', '/test/snoop/info?i=33', port )
|
156
|
+
assert( response.is_a?( Net::HTTPSuccess ) )
|
157
|
+
|
158
|
+
server.stop
|
159
|
+
end
|
160
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<!DOCTYPE web-app PUBLIC
|
2
|
+
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
|
3
|
+
"http://java.sun.com/dtd/web-app_2_3.dtd" >
|
4
|
+
|
5
|
+
<web-app>
|
6
|
+
<display-name>Gravitext Test Webapp</display-name>
|
7
|
+
|
8
|
+
<servlet>
|
9
|
+
<servlet-name>PerfTest</servlet-name>
|
10
|
+
<servlet-class>rjack.testservlets.PerfTestServlet</servlet-class>
|
11
|
+
</servlet>
|
12
|
+
|
13
|
+
<servlet>
|
14
|
+
<servlet-name>Snoop</servlet-name>
|
15
|
+
<servlet-class>rjack.testservlets.SnoopServlet</servlet-class>
|
16
|
+
</servlet>
|
17
|
+
|
18
|
+
<servlet-mapping>
|
19
|
+
<servlet-name>PerfTest</servlet-name>
|
20
|
+
<url-pattern>/perf</url-pattern>
|
21
|
+
</servlet-mapping>
|
22
|
+
|
23
|
+
<servlet-mapping>
|
24
|
+
<servlet-name>Snoop</servlet-name>
|
25
|
+
<url-pattern>/snoop/*</url-pattern>
|
26
|
+
</servlet-mapping>
|
27
|
+
|
28
|
+
</web-app>
|
data/webapps/test.war
ADDED
Binary file
|
metadata
ADDED
@@ -0,0 +1,113 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rjack-jetty
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 6.1.22.1
|
5
|
+
platform: java
|
6
|
+
authors:
|
7
|
+
- David Kellum
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2010-03-06 00:00:00 -08:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: rjack-logback
|
17
|
+
type: :development
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.9.17
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rjack-tarpit
|
27
|
+
type: :development
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.2.0
|
34
|
+
version:
|
35
|
+
description: |-
|
36
|
+
A gem packaging of the {Jetty Web Server}[http://www.mortbay.org/jetty/]
|
37
|
+
for JRuby:
|
38
|
+
|
39
|
+
* Provides jetty, jetty-util, servlet-api, and jetty-rewrite-handler
|
40
|
+
jars.
|
41
|
+
* A Jetty::ServerFactory for simple programmatic server setup in ruby.
|
42
|
+
* A set of Jetty::TestServlets containing a SnoopServlet and
|
43
|
+
PerfTestServlet (implemented in Java).
|
44
|
+
* A jetty-service bin script for easy testing from the command line.
|
45
|
+
|
46
|
+
Note that JSP support is provided separately in the companion
|
47
|
+
jetty-jsp[http://rjack.rubyforge.org/jetty-jsp/] gem.
|
48
|
+
email:
|
49
|
+
- dek-oss@gravitext.com
|
50
|
+
executables:
|
51
|
+
- rjack-jetty-service
|
52
|
+
extensions: []
|
53
|
+
|
54
|
+
extra_rdoc_files:
|
55
|
+
- Manifest.txt
|
56
|
+
- README.rdoc
|
57
|
+
- History.rdoc
|
58
|
+
files:
|
59
|
+
- Manifest.static
|
60
|
+
- Manifest.txt
|
61
|
+
- README.rdoc
|
62
|
+
- History.rdoc
|
63
|
+
- Rakefile
|
64
|
+
- pom.xml
|
65
|
+
- assembly.xml
|
66
|
+
- lib/rjack-jetty/base.rb
|
67
|
+
- lib/rjack-jetty.rb
|
68
|
+
- lib/rjack-jetty/rewrite.rb
|
69
|
+
- 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
|
+
- test/test.txt
|
75
|
+
- webapps/test/WEB-INF/web.xml
|
76
|
+
- webapps/test/index.html
|
77
|
+
- webapps/test.war
|
78
|
+
- lib/rjack-jetty/jetty-6.1.22.jar
|
79
|
+
- lib/rjack-jetty/jetty-rewrite-handler-6.1.22.jar
|
80
|
+
- lib/rjack-jetty/jetty-util-6.1.22.jar
|
81
|
+
- lib/rjack-jetty/rjack-jetty-1.0.jar
|
82
|
+
- lib/rjack-jetty/servlet-api-2.5-20081211.jar
|
83
|
+
has_rdoc: true
|
84
|
+
homepage: http://rjack.rubyforge.org
|
85
|
+
licenses: []
|
86
|
+
|
87
|
+
post_install_message:
|
88
|
+
rdoc_options:
|
89
|
+
- --main
|
90
|
+
- README.rdoc
|
91
|
+
require_paths:
|
92
|
+
- lib
|
93
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: "0"
|
98
|
+
version:
|
99
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: "0"
|
104
|
+
version:
|
105
|
+
requirements: []
|
106
|
+
|
107
|
+
rubyforge_project: rjack
|
108
|
+
rubygems_version: 1.3.5
|
109
|
+
signing_key:
|
110
|
+
specification_version: 3
|
111
|
+
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"
|
112
|
+
test_files:
|
113
|
+
- test/test_jetty.rb
|