aboutsummaryrefslogtreecommitdiffstats
path: root/lib/webrick
Commit message (Collapse)AuthorAgeFilesLines
...
* *** empty log message ***gotoyuzo2005-03-232-2/+9
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/server.rb (WEBrick::GenericServer#start): shouldgotoyuzo2005-03-071-12/+23
| | | | | | | | restore @token if accept failure. suggested by Dominique Brezinski. [ruby-core:04518] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/cgi.rb (WEBrick::CGI.start): should set reason-phrasegotoyuzo2005-02-131-1/+4
| | | | | | | to the value of status header field. ([ruby-dev:40617]) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/cgi.rb (WEBrick::CGI::Socket#request_line): shouldgotoyuzo2005-01-103-6/+12
| | | | | | | | | | | | | | | | | escape SCRIPT_NAME and PATH_INFO before being parsed as a URI. * lib/webrick/httputils.rb (WEBrick::HTTPUtils#escape_path): add new method to escape URI path component. * lib/webrick/ssl.rb (WEBrick::Config::SSL): the default value of :SSLEnable is false. * test/webrick/{test_cgi.rb,webrick.cgi}: new file. * test/webrick/utils.rb: require "webrick/https.h". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_service):gotoyuzo2005-01-073-8/+22
| | | | | | | | | | | | | | | | | | | should delete trailing LF from the result of pack("m*"). * lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_connect): - should delete trailing LF from the result of pack("m*"). - clear Request-Line not to send the sesponse by HTTPServer#run. * lib/webrick/httputils (WEBrick::HTTPUtils.parse_qvalues): refine regexp (and change the name of a local variable). * lib/webrick/server.rb (WEBrick::Daemon.start): prepared stdio don't allow changing its mode. * test/webrick/*, sample/webrick/httpproxy.rb: add new files. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * missed in last commit.gotoyuzo2005-01-021-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httpauth/htpasswd.rb (WEBrick::Htpasswd#reload):gotoyuzo2005-01-024-8/+13
| | | | | | | | | | | | | | | | | | raise NotImplementedError if password is encrypted by digest algorithms. This patch is contributed by sheepman. [ruby-list:40467] * lib/webrick/httpauth/digestauth.rb (WEBrick::HTTPAuth::DigestAuth#_authenticate): fix digest calculation. This patch is contributed by sheepman. [ruby-list:40482] * lib/webrick/{httpauth.rb,httpauth/basicauth.rb,httpproxy.rb}: use pack/unpack-template char "m" instead of lib/base64.rb to do base64 encoding/decoding. fixed: [ruby-dev:25336] * test/webrick/test_httpauth.rb: new file. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httpauth.rb,nahi2004-12-183-5/+2
| | | | | | | | | lib/webrick/httpauth/{basicauth.rb,digestauth.rb}: use pack/unpack-template char "m" instead of lib/base64.rb to do base64 encoding/decoding. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/server.rb (WEBrick::GenericServer#start_thread):gotoyuzo2004-12-154-13/+32
| | | | | | | | | | | | | | | | | should log about all accepted socket. [ruby-core:03962] * lib/webrick/accesslog.rb (WEBrick::AccessLog#setup_params): "%%" and "%u" are supported. [webricken:135] * lib/webrick/httpservlet/filehandler.rb (WEBrick::HTTPServlet::FileHandler#check_filename): :NondisclosureName is acceptable if it is Enumerable. * lib/webrick/config.rb (WEBrick::Config::FileHandler): default value of :NondisclosureName is [".ht*", "*~"]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/cgi.rb (WEBrick::CGI#setup_header): avoidgotoyuzo2004-12-092-10/+16
| | | | | | | | | | SecurityError. [ruby-dev:24970] * lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): should wait for reading request till data arrive. [ruby-talk:121068] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httpauth/digestauth.rb: use Base64.encode64 togotoyuzo2004-11-031-2/+2
| | | | | | | avoid warnings. [webrickja:128] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#meta_vars):gotoyuzo2004-10-221-1/+1
| | | | | | | should check if path_info is not nil. [webrickja:126] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httpresponse.rb (WEBrick::HTTPResponse#send_body_io):gotoyuzo2004-10-211-16/+19
| | | | | | | ensure to close @body. (http://bugs.debian.org/277520) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#initialize):gotoyuzo2004-10-171-2/+4
| | | | | | | initial value of accpet-* should be array. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/config.rb:gotoyuzo2004-10-125-31/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add WEBrick::Config::FileHandler[:AcceptableLanguages]. * lib/webrick/httpservlet/filehandler.rb (WEBrick::HTTPServlet::FileHandler#set_filename): search files having suffix of language-name which Accept-Language header field includes if :AcceptableLanguages options is present. * lib/webrick/httpservlet/filehandler.rb (WEBrick::HTTPServlet::FileHandler#get_servlet): new method to search servlet correspond to the suffix of filename. * lib/webrick/httprequest.rb: add attributes access methods: accept, accept_charset, accept_encoding, accept_language, content_length and content_type. * lib/webrick/httpresponse.rb: add attribute access methods: content_length, content_length=, content_type and content_type=. * lib/webrick/httputils.rb (WEBrick::HTTPUtils.mime_types): use the second suffix to detect media type. (the first suffix may be a language name.) * lib/webrick/httputils.rb (WEBrick::HTTPUtils.parse_qvalues): add method to parse Accept header field. it returns an Array of values sorted by the qvalues. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/cgi.rb (WEBrick::CGI#start): should set REMOTE_USERgotoyuzo2004-09-162-1/+2
| | | | | | | | | | | to request.user attribute. * lib/webrick/httpservlet/filehandler.rb (WEBrick::HTTPServlet::FileHandler#initialize): should expand the pathname of document root directory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_connect):gotoyuzo2004-08-211-0/+3
| | | | | | | should call :ProxyContentHandler before finishing CONNECT. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httputils.rb (WEBrick::HTTPUtils.parse_range_header):gotoyuzo2004-08-132-3/+7
| | | | | | | | | | | | | fix regex for range-spec. * lib/webrick/httpservlet/filehandler.rb (WEBrick::HTTPServlet::DefaultFileHandler#make_partial_content): multipart/byteranges response was broken. * lib/xmlrpc/server.rb: refine example code. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httpservlet/erbhandler.rbgotoyuzo2004-08-091-1/+2
| | | | | | | | (WEBrick::HTTPServlet::ERBHandler#do_GET): should select media type by suffix of script filename. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httputils.rb (WEBrick::HTTPUtils.escape): shouldgotoyuzo2004-07-261-1/+1
| | | | | | | escape space. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httpservlet/cgihandler.rbgotoyuzo2004-07-181-1/+4
| | | | | | | | (WEBrick::HTTPServlet::CGIhandler#do_GET): set SystemRoot environment variable to CGI process on Windows native platforms. [ruby-dev:23936] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httpserver.rb (WEBrick::HTTPServer#virtual_host):gotoyuzo2004-03-211-2/+9
| | | | | | | | | | sort @virtual_hosts in address, port, host order. * lib/webrick/httpserver.rb (WEBrick::HTTPServer#lookup_server): hostname should not be match if :ServerAlias is not given. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/config.rb (WEBrick::Config::General): addgotoyuzo2004-03-112-0/+4
| | | | | | | | | | | :DoNotReverseLookup. * lib/webrick/server.rb (WEBrick::GenericServer#accept): call do_not_reverse_lookup for each socket if :DoNotReverseLookup is set. [ruby-code:02357] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/config.rb (WEBrick::Config::HTTP): rename :RequestHandergotoyuzo2004-03-073-11/+17
| | | | | | | | | | | | | | | | | | | | to :RequestCallback and add new option :ServerAlias. * lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): use :RequestCallback and warn if :RequestHandler is in server's option. * lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): should print error message for WEBrick::HTTPSataus::Error. * lib/webrick/httpserver.rb (WEBrick::HTTPServer#lookup_server): lookup for hostname from :ServerAlias if the req.host is not match to :ServerName. * lib/webrick/httpservlet.rb (WEBrick::HTTPServlet::CGIHandler#do_GET): use $?.exitstatus and refine log message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httputils.rb (WEBrick:HTTPUtils::parse_header):gotoyuzo2004-01-261-1/+1
| | | | | | | refine regex for header-name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): supportgotoyuzo2004-01-241-3/+19
| | | | | | | | | | | | | virtual host. * lib/webrick/httpserver.rb (WEBrick::HTTPServer#virtual_host): add new method to register virtual hosting server. * lib/webrick/httpserver.rb (WEBrick::HTTPServer#lookup_server): add new method to lookup virtual hosting server. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/cgi.rb (WEBrick::CGI#initialize): should creategotoyuzo2004-01-071-0/+1
| | | | | | | @config[:Logger] if it was not given. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/cgi.rb (CGI): add support for mod_ruby.gotoyuzo2003-12-223-36/+86
| | | | | | | | | | | | | | | | | * lib/webrick/cgi.rb (CGI::Socket): add check for existence of OpenSSL module in all HTTPS related methods. * lib/webrick/cgi.rb (CGI::Socket#cipher): should create similar value to OpenSSL::SSLSocket#cipher. * lib/webrick/httpresponse.rb (HTTPResponse#setup_header): should set "connection: close" if @keep_alive is false. * lib/webrick/https.rb (HTTPrequest#meta_vars): add supprt for SSL_PROTOCOL, SSL_CIPHER_USEKEYSIZE and SSL_CIPHER_ALGKEYSIZE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httprequest.rb (HTTPRequest#meta_vars): refine regexp.gotoyuzo2003-12-202-12/+12
| | | | | | | | | | * lib/webrick/cgi.rb (CGI#start): NPH scripts return status line instead of Status: header field. * lib/webrick/cgi.rb (CGI::Socket): refine some coditions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* get rid of unusable conditiongotoyuzo2003-12-191-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/cgi.rb: add file. (yet another CGI library)gotoyuzo2003-12-191-0/+201
| | | | | | | * MANIFEST: add lib/webrick/cgi.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httprequest.rb (meta_vers): should not setgotoyuzo2003-12-192-2/+4
| | | | | | | | | | HTTP_CONTENT_TYPE and HTTP_CONTENT_LENGTH. * lib/webrick/https.rb (HTTPRequest#parse): should check presence of cert() method to detect SSLSocket. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httputils.rb (parse_form_data): should return angotoyuzo2003-12-181-0/+1
| | | | | | | empty Hash if the body is empty. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/server.rb (GenericServer#start): should rescuegotoyuzo2003-12-042-6/+12
| | | | | | | | | | | | | Exception to avoid unexpected aborting. [ruby-core:01853] * lib/webrick/server.rb (GenericServer#start_thread): should check that peeraddr isn't nil before printing. * lib/webrick/httpresponse.rb (HTTPResponse#start_thread): should rescue Exception to avoid unexpected aborting of thread. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httpresponse.rb: add HTTPResponse#keep_alive=.gotoyuzo2003-11-252-1/+3
| | | | | | | | * lib/webrick/httpserver.rb (HTTPServer#run): should pass the request's keep_alive flag to the response. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/https.rb (HTTPRequest#parse): set @client_cert_chain.gotoyuzo2003-11-041-0/+6
| | | | | | | | | | | * lib/webrick/https.rb (HTTPRequest#meta_vars): create SSL_CLIENT_CERT_CHAIN_n from @client_cert_chain. * ext/openssl/ossl_ssl.c (ossl_ssl_get_peer_cert_chain): return nil if no cert-chain was given. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/ssl.rb: new option :SSLExtraChainCert.gotoyuzo2003-11-011-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/server.rb (GenericServer#start): should rescuegotoyuzo2003-10-231-1/+1
| | | | | | | IOError from IO::accept. [ruby-dev:21692] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/utils.rb (Utils::su): use setgid and setuid togotoyuzo2003-09-281-8/+8
| | | | | | | | set real and effective IDs. and setup group access list by initgroups. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httpservlet/cgihandler.rb: conform to mswin32.gotoyuzo2003-09-231-2/+4
| | | | | | | [ruby-talk:82735], [ruby-talk:82748], [ruby-talk:82818] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/log.rb (BasicLog#log): get rid of as ineffectualgotoyuzo2003-09-181-5/+3
| | | | | | | | | condition. * lib/webrick/log.rb (BasicLog#format): add "\n" to message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4574 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* meta_vars should be String.gotoyuzo2003-09-081-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httpserver.rb (HTTPServer#access_log): add "\n" togotoyuzo2003-09-082-2/+5
| | | | | | | | | the message. * lib/webrick/log.rb (BasicLog#log): add "\n" only if needed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/accesslog.rb (AccessLog::setup_params): use req.portgotoyuzo2003-09-087-14/+15
| | | | | | | | | | | | | | | | | | | | instead of config[:Port] or req.request_uri.port. * lib/webrick/httprequest.rb (HTTPRequest#meta_vars): ditto. * lib/webrick/httpservlet/filehandler.rb (FileHandler#dir_list): ditto. * lib/webrick/config.rb: :Listen option never be used. * lib/webrick/server.rb (GenericServer#initialize): don't use :Listen option and add warning message. * lib/webrick/log.rb (BasicLog#<<): shortcut of log(INFO, ...). * lib/webrick/httpserver.rb (HTTPServer#accesslog): use << for logging. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/ssl.rb: new file; SSL/TLS enhancement for GenericServer.gotoyuzo2003-08-196-160/+170
| | | | | | | | | | | | | | | | | | | | | | * lib/webrick/https.rb: SSLSocket handling is moved to webrick/ssl.rb. * lib/webrick/compat.rb (File::fnmatch): remove old migration code. * lib/webrick/httpserver.rb (HTTPServer#run): ditto. * lib/webrick/server.rb (GenericServer#listen): the body of this method is pull out as Utils::create_lisnteners. * lib/webrick/utils.rb (Utils::create_lisnteners): new method. * lib/webrick/server.rb (GenericServer#start): should not through unknown errors. and refine comments. * ext/openssl/lib/openssl/ssl.rb (SSLServer#accept): should close socket if SSLSocket raises error. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/https.rb (HTTPServer#run): should set syncing-modegotoyuzo2003-08-131-0/+1
| | | | | | | to SSLSocket. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/httputils.rb (FormData#list): should not takegotoyuzo2003-08-071-2/+1
| | | | | | | a side effect for the receiver. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick/https.rb: change an option name.gotoyuzo2003-08-021-2/+2
| | | | | | | :SSLCertStore -> :SSLCertificateStore. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/webrick: imported.gotoyuzo2003-07-2332-0/+3852
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e