Sha256: 10411b6f1300cbda8c78d7fb7fbc795d3f44f1ec42fb748b1e18dc262e6b67a6

Contents?: true

Size: 1 KB

Versions: 8

Compression:

Stored size: 1 KB

Contents

require 'mongrel'
require 'yaml'
require 'zlib'

class SimpleHandler < Mongrel::HttpHandler
    def process(request, response)
      response.start do |head,out|
        head["Content-Type"] = "text/html"
        results = "<html><body>Your request:<br /><pre>#{request.params.to_yaml}</pre><a href=\"/files\">View the files.</a></body></html>"
        if request.params["HTTP_ACCEPT_ENCODING"] == "gzip,deflate"
          head["Content-Encoding"] = "deflate"
          # send it back deflated
          out << Zlib::Deflate.deflate(results)
        else
          # no gzip supported, send it back normal
          out << results
        end
      end
    end
end

if ARGV.length != 3
  STDERR.puts "usage:  simpletest.rb <host> <port> <docroot>"
  exit(1)
end

h = Mongrel::HttpServer.new(ARGV[0], ARGV[1].to_i)
h.register("/", SimpleHandler.new)
h.register("/files", Mongrel::DirHandler.new(ARGV[2]))
h.run

trap("INT") { h.stop }

puts "Mongrel running on #{ARGV[0]}:#{ARGV[1]} with docroot #{ARGV[2]}"

h.acceptor.join

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
mongrel-0.3.10.1 examples/simpletest.rb
mongrel-0.3.10 examples/simpletest.rb
mongrel-0.3.11 examples/simpletest.rb
mongrel-0.3.8 examples/simpletest.rb
mongrel-0.3.6 examples/simpletest.rb
mongrel-0.3.7.1 examples/simpletest.rb
mongrel-0.3.7 examples/simpletest.rb
mongrel-0.3.9 examples/simpletest.rb