Current Path: > > opt > > alt > ruby27 > > share > ruby
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
benchmark | Directory | - | - | |
bigdecimal | Directory | - | - | |
cgi | Directory | - | - | |
csv | Directory | - | - | |
delegate | Directory | - | - | |
did_you_mean | Directory | - | - | |
digest | Directory | - | - | |
drb | Directory | - | - | |
fiddle | Directory | - | - | |
forwardable | Directory | - | - | |
getoptlong | Directory | - | - | |
io | Directory | - | - | |
irb | Directory | - | - | |
json | Directory | - | - | |
logger | Directory | - | - | |
matrix | Directory | - | - | |
net | Directory | - | - | |
observer | Directory | - | - | |
open3 | Directory | - | - | |
openssl | Directory | - | - | |
optparse | Directory | - | - | |
ostruct | Directory | - | - | |
pstore | Directory | - | - | |
psych | Directory | - | - | |
racc | Directory | - | - | |
reline | Directory | - | - | |
rexml | Directory | - | - | |
rinda | Directory | - | - | |
ripper | Directory | - | - | |
rss | Directory | - | - | |
singleton | Directory | - | - | |
syslog | Directory | - | - | |
timeout | Directory | - | - | |
tracer | Directory | - | - | |
unicode_normalize | Directory | - | - | |
uri | Directory | - | - | |
vendor_ruby | Directory | - | - | |
webrick | Directory | - | - | |
yaml | Directory | - | - | |
English.rb | File | 6258 bytes | March 30 2023 12:34:08. | |
abbrev.rb | File | 3529 bytes | March 30 2023 12:34:08. | |
base64.rb | File | 3379 bytes | March 30 2023 12:34:08. | |
benchmark.rb | File | 18453 bytes | March 30 2023 12:34:08. | |
bigdecimal.rb | File | 24 bytes | June 06 2023 14:54:35. | |
cgi.rb | File | 10037 bytes | March 30 2023 12:34:08. | |
coverage.rb | File | 368 bytes | June 06 2023 14:54:35. | |
csv.rb | File | 55643 bytes | March 30 2023 12:34:08. | |
date.rb | File | 1066 bytes | June 06 2023 14:54:34. | |
debug.rb | File | 30624 bytes | March 30 2023 12:34:08. | |
delegate.rb | File | 11343 bytes | March 30 2023 12:34:08. | |
did_you_mean.rb | File | 3806 bytes | March 30 2023 12:34:08. | |
digest.rb | File | 2894 bytes | June 06 2023 14:54:35. | |
drb.rb | File | 50 bytes | March 30 2023 12:34:08. | |
erb.rb | File | 29504 bytes | March 30 2023 12:34:08. | |
expect.rb | File | 2217 bytes | June 06 2023 14:54:35. | |
fiddle.rb | File | 1722 bytes | June 06 2023 14:54:35. | |
fileutils.rb | File | 49211 bytes | March 30 2023 12:34:08. | |
find.rb | File | 2526 bytes | March 30 2023 12:34:08. | |
forwardable.rb | File | 9130 bytes | March 30 2023 12:34:08. | |
getoptlong.rb | File | 15787 bytes | March 30 2023 12:34:08. | |
ipaddr.rb | File | 19989 bytes | March 30 2023 12:34:08. | |
irb.rb | File | 27603 bytes | March 30 2023 12:34:08. | |
json.rb | File | 1809 bytes | June 06 2023 14:54:34. | |
kconv.rb | File | 5861 bytes | June 06 2023 14:54:34. | |
logger.rb | File | 16792 bytes | March 30 2023 12:34:08. | |
matrix.rb | File | 61703 bytes | March 30 2023 12:34:08. | |
mkmf.rb | File | 88539 bytes | June 06 2023 14:51:26. | |
monitor.rb | File | 6920 bytes | June 06 2023 14:54:35. | |
mutex_m.rb | File | 2214 bytes | March 30 2023 12:34:08. | |
observer.rb | File | 5971 bytes | March 30 2023 12:34:08. | |
open-uri.rb | File | 26088 bytes | March 30 2023 12:34:08. | |
open3.rb | File | 22336 bytes | March 30 2023 12:34:08. | |
openssl.rb | File | 469 bytes | June 06 2023 14:54:34. | |
optionparser.rb | File | 59 bytes | March 30 2023 12:34:08. | |
optparse.rb | File | 60919 bytes | March 30 2023 12:34:08. | |
ostruct.rb | File | 10785 bytes | March 30 2023 12:34:08. | |
pathname.rb | File | 16558 bytes | June 06 2023 14:54:34. | |
pp.rb | File | 15978 bytes | March 30 2023 12:34:08. | |
prettyprint.rb | File | 16276 bytes | March 30 2023 12:34:08. | |
prime.rb | File | 12670 bytes | March 30 2023 12:34:08. | |
pstore.rb | File | 15063 bytes | March 30 2023 12:34:08. | |
psych.rb | File | 21718 bytes | June 06 2023 14:54:34. | |
racc.rb | File | 137 bytes | March 30 2023 12:34:08. | |
readline.rb | File | 113 bytes | March 30 2023 12:34:08. | |
reline.rb | File | 13253 bytes | March 30 2023 12:34:08. | |
resolv-replace.rb | File | 1805 bytes | March 30 2023 12:34:08. | |
resolv.rb | File | 75326 bytes | June 06 2023 14:51:27. | |
ripper.rb | File | 2494 bytes | June 06 2023 14:54:35. | |
rss.rb | File | 2963 bytes | March 30 2023 12:34:08. | |
securerandom.rb | File | 9528 bytes | March 30 2023 12:34:08. | |
set.rb | File | 24622 bytes | March 30 2023 12:34:08. | |
shellwords.rb | File | 6816 bytes | March 30 2023 12:34:08. | |
singleton.rb | File | 4158 bytes | March 30 2023 12:34:08. | |
socket.rb | File | 44702 bytes | June 06 2023 14:54:34. | |
tempfile.rb | File | 11213 bytes | March 30 2023 12:34:08. | |
time.rb | File | 24590 bytes | March 30 2023 12:34:08. | |
timeout.rb | File | 4075 bytes | March 30 2023 12:34:08. | |
tmpdir.rb | File | 4142 bytes | March 30 2023 12:34:08. | |
tracer.rb | File | 6640 bytes | March 30 2023 12:34:08. | |
tsort.rb | File | 14642 bytes | March 30 2023 12:34:08. | |
un.rb | File | 10202 bytes | March 30 2023 12:34:08. | |
uri.rb | File | 3039 bytes | March 30 2023 12:34:08. | |
weakref.rb | File | 1473 bytes | March 30 2023 12:34:08. | |
webrick.rb | File | 6890 bytes | March 30 2023 12:34:08. | |
yaml.rb | File | 1845 bytes | March 30 2023 12:34:08. |
# frozen_string_literal: false ## # = WEB server toolkit. # # 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. # # == Starting an HTTP server # # 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 # # == Custom Behavior # # The easiest way to have a server perform custom operations is through # WEBrick::HTTPServer#mount_proc. The block given will be called with a # WEBrick::HTTPRequest with request info and a WEBrick::HTTPResponse which # must be filled in appropriately: # # server.mount_proc '/' do |req, res| # res.body = 'Hello, world!' # end # # Remember that +server.mount_proc+ must precede +server.start+. # # == Servlets # # Advanced custom behavior can be obtained through mounting a subclass of # WEBrick::HTTPServlet::AbstractServlet. Servlets provide more modularity # when writing an HTTP server than mount_proc allows. Here is a simple # servlet: # # class Simple < WEBrick::HTTPServlet::AbstractServlet # def do_GET request, response # status, content_type, body = do_stuff_with request # # response.status = 200 # response['Content-Type'] = 'text/plain' # response.body = 'Hello, World!' # end # end # # To initialize the servlet you mount it on the server: # # server.mount '/simple', Simple # # See WEBrick::HTTPServlet::AbstractServlet for more details. # # == Virtual Hosts # # A server can act as a virtual host for multiple host names. After creating # the listening host, additional hosts that do not listen can be created and # attached as virtual hosts: # # server = WEBrick::HTTPServer.new # ... # # vhost = WEBrick::HTTPServer.new :ServerName => 'vhost.example', # :DoNotListen => true, # ... # vhost.mount '/', ... # # server.virtual_host vhost # # If no +:DocumentRoot+ is provided and no servlets or procs are mounted on the # main server it will return 404 for all URLs. # # == HTTPS # # To create an HTTPS server you only need to enable SSL and provide an SSL # certificate name: # # require 'webrick' # require 'webrick/https' # # cert_name = [ # %w[CN localhost], # ] # # server = WEBrick::HTTPServer.new(:Port => 8000, # :SSLEnable => true, # :SSLCertName => cert_name) # # This will start the server with a self-generated self-signed certificate. # The certificate will be changed every time the server is restarted. # # To create a server with a pre-determined key and certificate you can provide # them: # # require 'webrick' # require 'webrick/https' # require 'openssl' # # cert = OpenSSL::X509::Certificate.new File.read '/path/to/cert.pem' # pkey = OpenSSL::PKey::RSA.new File.read '/path/to/pkey.pem' # # server = WEBrick::HTTPServer.new(:Port => 8000, # :SSLEnable => true, # :SSLCertificate => cert, # :SSLPrivateKey => pkey) # # == Proxy Server # # WEBrick can act as a proxy server: # # require 'webrick' # require 'webrick/httpproxy' # # proxy = WEBrick::HTTPProxyServer.new :Port => 8000 # # trap 'INT' do proxy.shutdown end # # See WEBrick::HTTPProxy for further details including modifying proxied # responses. # # == Basic and Digest authentication # # WEBrick provides both Basic and Digest authentication for regular and proxy # servers. See WEBrick::HTTPAuth, WEBrick::HTTPAuth::BasicAuth and # WEBrick::HTTPAuth::DigestAuth. # # == WEBrick as a Production Web Server # # WEBrick can be run as a production server for small loads. # # === Daemonizing # # To start a WEBrick server as a daemon simple run WEBrick::Daemon.start # before starting the server. # # === Dropping Permissions # # WEBrick can be started as one user to gain permission to bind to port 80 or # 443 for serving HTTP or HTTPS traffic then can drop these permissions for # regular operation. To listen on all interfaces for HTTP traffic: # # sockets = WEBrick::Utils.create_listeners nil, 80 # # Then drop privileges: # # WEBrick::Utils.su 'www' # # Then create a server that does not listen by default: # # server = WEBrick::HTTPServer.new :DoNotListen => true, # ... # # Then overwrite the listening sockets with the port 80 sockets: # # server.listeners.replace sockets # # === Logging # # WEBrick can separately log server operations and end-user access. For # server operations: # # log_file = File.open '/var/log/webrick.log', 'a+' # log = WEBrick::Log.new log_file # # For user access logging: # # access_log = [ # [log_file, WEBrick::AccessLog::COMBINED_LOG_FORMAT], # ] # # server = WEBrick::HTTPServer.new :Logger => log, :AccessLog => access_log # # See WEBrick::AccessLog for further log formats. # # === Log Rotation # # To rotate logs in WEBrick on a HUP signal (like syslogd can send), open the # log file in 'a+' mode (as above) and trap 'HUP' to reopen the log file: # # trap 'HUP' do log_file.reopen '/path/to/webrick.log', 'a+' # # == Copyright # # Author: IPR -- Internet Programming with Ruby -- writers # # Copyright (c) 2000 TAKAHASHI Masayoshi, GOTOU YUUZOU # Copyright (c) 2002 Internet Programming with Ruby writers. All rights # reserved. #-- # $IPR: webrick.rb,v 1.12 2002/10/01 17:16:31 gotoyuzo Exp $ module WEBrick end require 'webrick/compat.rb' require 'webrick/version.rb' require 'webrick/config.rb' require 'webrick/log.rb' require 'webrick/server.rb' require_relative 'webrick/utils.rb' require 'webrick/accesslog' require 'webrick/htmlutils.rb' require 'webrick/httputils.rb' require 'webrick/cookie.rb' require 'webrick/httpversion.rb' require 'webrick/httpstatus.rb' require 'webrick/httprequest.rb' require 'webrick/httpresponse.rb' require 'webrick/httpserver.rb' require 'webrick/httpservlet.rb' require 'webrick/httpauth.rb'
SILENT KILLER Tool