Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using(org.eclipse.jetty => "Jetty") do
- class RackHandler < Server::Handler::AbstractHandler
- attr_accessor :app
- def self.build(endpoint)
- new.tap {|h| h.app = endpoint }
- end
- def handle(target, base_request, request, response)
- lazy_env = LazyRackEnv.new(request)
- env = Hash.new {|h,k| h[k] = lazy_env[k] }
- status, headers, body = @app.call(env)
- response.status = status.to_i
- base_request.handled = true
- headers.each do |header, value|
- response.set_header header, value
- end
- writer = response.writer
- body.each { |part| writer.print part }
- end
- end
- # org.eclipse.jetty.server.Server
- class Server::Server
- # org.eclipse.jetty.util.thread
- include Util::Thread
- def self.start_rack(endpoint, options = {})
- new(options[:port] || 8080).tap do |server|
- server.thread_pool = QueuedThreadPool.new(20)
- server.handler = RackHandler.build(endpoint)
- server.start
- server.join
- end
- end
- end
- end
Add Comment
Please, Sign In to add comment