HTTP server toolkit https://github.com/ruby/webrick
Go to file
Hiroshi SHIBATA 14612a7540
Merge pull request #94 from Benjamin-L/dont-package-bins
remove unneeded bin/console and bin/setup files from gemspec
2022-05-25 11:28:51 +09:00
.github Bump actions/checkout from 2 to 3 2022-03-25 06:50:27 +00:00
bin Preparation for ruby/webrick 2017-03-30 11:03:11 +09:00
lib Typo 2021-10-26 16:36:26 +08:00
test Revert "Fix invalid use of IP addresses in SNI" 2022-01-04 10:33:52 -08:00
.gitignore Preparation for ruby/webrick 2017-03-30 11:03:11 +09:00
Gemfile Use Gemfile instead of Gem::Specification#add_development_dependency. 2021-02-16 21:34:39 +09:00
LICENSE.txt Modified license to BSD-2-Clause 2017-04-11 15:56:01 +09:00
README.md Revert "Update url of issue tracker." 2022-02-25 17:00:16 +09:00
Rakefile Bump up the latest version of CoreAssertions 2021-09-11 10:14:37 +09:00
webrick.gemspec remove unneeded bin/console and bin/setup files from gemspec 2022-05-24 18:57:15 -07:00

README.md

Webrick

WEBrick is an HTTP server toolkit that can be configured as an HTTPS server, a proxy server, and a virtual-host server.

WEBrick features complete logging of both server operations and HTTP access.

WEBrick supports both basic and digest authentication in addition to algorithms not in RFC 2617.

A WEBrick server can be composed of multiple WEBrick servers or servlets to provide differing behavior on a per-host or per-path basis. WEBrick includes servlets for handling CGI scripts, ERB pages, Ruby blocks and directory listings.

WEBrick also includes tools for daemonizing a process and starting a process at a higher privilege level and dropping permissions.

Installation

Add this line to your application's Gemfile:

gem 'webrick'

And then execute:

$ bundle

Or install it yourself as:

$ gem install webrick

Usage

To create a new WEBrick::HTTPServer that will listen to connections on port 8000 and serve documents from the current user's public_html folder:

require 'webrick'

root = File.expand_path '~/public_html'
server = WEBrick::HTTPServer.new :Port => 8000, :DocumentRoot => root

To run the server you will need to provide a suitable shutdown hook as starting the server blocks the current thread:

trap 'INT' do server.shutdown end

server.start

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/ruby/webrick.

License

The gem is available as open source under the terms of the 2-Clause BSD License.