Commit graph

179 commits

Author SHA1 Message Date
akr
9e0b0731ed * lib/webrick/utils.rb: Override the inspect method of the thread
used in WEBrick::Utils::TimeoutHandler.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-25 06:27:14 +00:00
nobu
719804b5df webrick/httpserver.rb: Stop handling requests on shutdown
* lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): stop
  handling requests on shutdown, even if the socket is readable
  and IO.select() returns true.  [Fixes GH-607]
* lib/webrick/server.rb (WEBrick::GenericServer#start): IO.select()
  raises ENOTSOCK on shutdown on Windows.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-08 01:17:07 +00:00
akr
2f60d08519 * lib/webrick/utils.rb: Don't rescue LoadError for 'etc' extension.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-25 10:17:15 +00:00
usa
3c00fe9f41 * lib/fileutils.rb (fu_get_uid, fu_get_gid): Etc.getpwnam/getgrnam may
returns nil.

* lib/webrick/utils.rb (su): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-24 14:19:21 +00:00
nobu
14922c7033 httpservlet/filehandler.rb: pass queries
* lib/webrick/httpservlet/filehandler.rb (set_dir_list): pass the
  given queries to subdirectories.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-12 09:01:30 +00:00
a_matsuda
69dbf68bbb * lib/webrick/ssl.rb: [DOC] Fix typo
s/willbe/will be/
[ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-25 05:10:12 +00:00
a_matsuda
e1db3605fd * ext/win32ole/sample/olegen.rb: Fix typo
* ext/openssl/ossl_asn1.c:  [DOC] Fix typo
* lib/webrick/accesslog.rb:  ditto
* template/yarvarch.ja:  ditto

s/recieve/receive/

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-11 03:58:07 +00:00
a_matsuda
c52eadeb77 * lib/webrick/httpstatus.rb: [DOC] Fix typo
s/sucess/success/
[ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-06 04:34:35 +00:00
hsbt
86d6d4d57c * lib/webrick/compat.rb, lib/xmlrpc/datetime.rb: [DOC] fix typo by @vipulnsward [fix GH-464]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-06 02:10:11 +00:00
hsbt
ea1180ef80 * lib/webrick/httprequest.rb: [DOC] Fix broken link of CGI specification by @udzura [fix GH-466]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-06 01:56:44 +00:00
a_matsuda
8740ac0aeb * lib/webrick/httpresponse.rb: [DOC] Fix typo
s/resopnse/response/
[ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-05 11:32:26 +00:00
a_matsuda
46b4eca8e2 * lib/webrick/httpproxy.rb: [DOC] Fix typo
s/bacause/because/
[ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43990 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-04 14:06:52 +00:00
a_matsuda
0c85ffd8a7 * lib/webrick/httpauth/digestauth.rb: Fix typo in an error message.
* test/ruby/test_parse.rb: Fix typo in a test name.

s/allowd/allowed/

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-29 14:03:26 +00:00
drbrain
9dff71ad78 * lib/webrick/httpresponse.rb: Allow #body to be an IO-like object
that responds to #readpartial and #read.
  [ruby-trunk - Feature #8155]
* NEWS:  NEWS for above
* test/webrick/test_httpresponse.rb:  Tests for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-07 18:38:39 +00:00
nobu
8fb4108bb7 * lib/webrick/httpservlet/filehandler.rb (set_dir_list): add NameWidth option.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-20 13:41:21 +00:00
nobu
31c2e85e51 * lib/webrick/httpservlet/filehandler.rb (set_dir_list): use TABLE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-20 13:41:19 +00:00
nobu
b6f42822fd * lib/webrick/httpservlet/filehandler.rb (set_dir_list): set charset.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-20 13:41:16 +00:00
nobu
83fa035d24 * lib/webrick/httpservlet/filehandler.rb (set_dir_list): share title and h1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-20 13:41:10 +00:00
nobu
88bcccd433 webrick: fix non-ascii escape bugs
* lib/webrick/htmlutils.rb (WEBrick::HTMLUtils#escape): replace HTML
  meta chars even in non-ascii string.  [Bug #8425] [ruby-core:55052]
* lib/webrick/httputils.rb (WEBrick::HTTPUtils#{_escape,_unescape}):
  fix %-escape encodings.  [Bug #8425] [ruby-core:55052]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-20 01:40:30 +00:00
nobu
bcddf03238 filehandler.rb: revert r20152
* lib/webrick/httpservlet/filehandler.rb (set_dir_list): revert r20152
  partially and fix misuse of bytesize and regexp repetition operator.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-20 00:53:40 +00:00
kazu
c54733e120 fix typos inspired by r40825
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-19 14:50:47 +00:00
akr
5fb8bb16e6 * lib/webrick/httpauth/htpasswd.rb: Use Tempfile.create to avoid
unintentional unlink() by the finalizer.
  lib/webrick/httpauth/htdigest.rb: Ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-20 15:10:29 +00:00
zzak
9c1fbec873 * lib/webrick/httpproxy.rb: Fix typos in HTTPProxyServer [Bug #8013]
Patch by Nobuhiro IMAI [ruby-core:53127]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-08 01:46:59 +00:00
akr
b1f493dcd1 * lib/webrick/utils.rb: use Socket.tcp_server_sockets to create server
sockets.
  fix [Bug #7100] https://bugs.ruby-lang.org/issues/7100
  reported by sho-h (Sho Hashimoto).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-02 08:36:16 +00:00
nobu
6048f9a6cf * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-26 02:31:43 +00:00
drbrain
28afe277a8 * lib/webrick/accesslog.rb: Improved WEBrick documentation.
* lib/webrick/cgi.rb:  ditto.
* lib/webrick/config.rb:  ditto.
* lib/webrick/cookie.rb:  ditto.
* lib/webrick/httpauth/authenticator.rb:  ditto.
* lib/webrick/httpauth/basicauth.rb:  ditto.
* lib/webrick/httpauth/digestauth.rb:  ditto.
* lib/webrick/httpproxy.rb:  ditto.
* lib/webrick/httprequest.rb:  ditto.
* lib/webrick/httpresponse.rb:  ditto.
* lib/webrick/https.rb:  ditto.
* lib/webrick/httpserver.rb:  ditto.
* lib/webrick/httpservlet/cgihandler.rb:  ditto.
* lib/webrick/httpservlet/filehandler.rb:  ditto.
* lib/webrick/httpservlet/prochandler.rb:  ditto.
* lib/webrick/httputils.rb:  ditto.
* lib/webrick/httpversion.rb:  ditto.
* lib/webrick/log.rb:  ditto.
* lib/webrick/server.rb:  ditto.
* lib/webrick/ssl.rb:  ditto.
* lib/webrick/utils.rb:  ditto.
* lib/webrick/version.rb:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-26 01:12:54 +00:00
zzak
902a36c1f6 * lib/webrick/httpservlet/abstract.rb (WEBrick::HTTPServlet): Typo in
example. Patch by shlensky [Fixes #232 on github]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-05 17:24:40 +00:00
naruse
2c1939f458 Fix typo of r36878
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-02 05:06:35 +00:00
naruse
8e9bbfd513 * lib/webrick/ssl.rb (WEBrick::Config::SSL): add new key
SSLTmpDhCallback to set SSLContext#tmp_dh_calback.

* lib/webrick/ssl.rb (WEBrick::GenericServer#setup_ssl_context):
  follow above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-01 20:46:31 +00:00
nobu
d059d718b5 remove trainling spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-21 04:50:18 +00:00
knu
3703619ed9 * lib/net/http/responses.rb, lib/webrick/httpstatus.rb: Add HTTP
response codes added in RFCs 2817 and 4918.  [ruby-core:45547]
  [Feature #6569]

* lib/net/http/responses.rb: Rename Net::HTTPMultipleChoice to
  Net::HTTPMultipleChoices, leaving the former as alias to the
  latter for backward compatibitily.  [ruby-core:45547]
  [Feature #6569]

* lib/net/http/responses.rb: Add comments about unused,
  still-in-draft and private extension response codes.
  [ruby-core:45547] [Feature #6569]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-13 15:20:27 +00:00
drbrain
0d7a94e31d * lib/net/http/responses.rb: Add RFC 6586 response codes. Patch by
Sangil Jung.  [ruby-trunk - Feature #6480]
* lib/net/http/response.rb:  ditto
* lib/net/http.rb:  ditto
* lib/webrick/httpstatus.rb:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-08 22:40:14 +00:00
naruse
c26ea74ad6 * lib/webrick/server.rb (WEBrick::GenericServer#start):
partially revert r35315.

* test/webrick/test_server.rb (test_start_exception):
  received signal is delivered to the main thread, so it is needed to
  emulate it. patched by Eric Hodel. [ruby-core:44348] [Feature #6236]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-14 02:30:43 +00:00
naruse
deb0519aec * lib/webrick/server.rb (WEBrick::GenericServer#stop): fix r35303;
this method is to deny new connections, not shutdown yet.

* lib/webrick/server.rb (WEBrick::GenericServer#start):
  re-raise exception only when the exception is Interrupt (^C).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-13 06:21:50 +00:00
drbrain
8c5c5a221f * lib/webrick/server.rb (module WEBrick::GenericServer): A server
will now continue only when a StandardError subclass is raised.  For
  other exception types the error will be logged at the fatal level and
  the server will safely stop.  Based on a patch by Alex Young.
  [ruby-trunk - Feature #6236]
* test/webrick/test_server.rb:  Test for new exception handling
  behavior.  Join the server thread instead of busy-waiting for it to
  shut down to remove race conditions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-11 20:28:11 +00:00
naruse
7b18633804 * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): get keys
and fetch values from it to prevent @timeout_info's error
  "can't add a new key into hash during iteration".

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-07 23:41:30 +00:00
naruse
56206ab8cd * lib/webrick/httpresponse.rb (WEBrick::HTTPResponse#send_body_io):
use readpartial to get data even if the response is streaming data and
  each data is smaller than @buffer_size.
  patched by yu nobuoka. [ruby-dev:45471] [Bug #6230]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-07 21:50:34 +00:00
naruse
f898efd8a8 * lib/webrick/server.rb (WEBrick::GenericServer): close socket only if
the socket is not closed yet.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-01 18:36:46 +00:00
naruse
3c491a92f6 * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): dup to prevent
@timeout_info's "can't add a new key into hash during iteration".

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-31 13:30:10 +00:00
drbrain
42ffb2ed15 * lib/webrick.rb: Moved proxy rewriting to WEBrick::HTTPProxy.
* lib/webrick/httpproxy.rb:  Add examples of creating a proxy server
  and response rewriting using HTTPProxy.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-02 23:17:24 +00:00
tenderlove
0cbec6027c * lib/webrick/httpresponse.rb (setup_header): 1xx responses
are allowed to have Keep-Alive connections.

* test/webrick/test_httpresponse.rb: corresponding test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-12 22:33:56 +00:00
tenderlove
6ef323d6f8 * lib/webrick/httpresponse.rb (setup_header): 204 and 304 responses
are allowed to have a Keep-Alive connection. [ruby-core:41581]

* test/webrick/test_httpresponse.rb: corresponding test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-12 22:15:31 +00:00
akr
c852d76f46 * lib/webrick/utils.rb: fix fcntl call.
* lib/drb/unix.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-01 23:17:53 +00:00
naruse
7b6677f1e6 * lib/webrick/httputils.rb: Add MIME Type definition of .js and .svg.
patched by Hal Brodigan. [ruby-core:39704] [Bug #5365]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-09-26 02:28:54 +00:00
naruse
2dfc9e1626 * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#each):
Allow HTTP/0.9 request which doesn't has any header or body.
  patched by Felix Jodoin. [ruby-core:38040] [Bug #5022]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-21 08:27:08 +00:00
naruse
8fb2058d82 * lib/webrick/httpauth/digestauth.rb (_authenticate):
Literal texts in HTTP ABNF is case-insensitive (RFC2616 2.1),
  and a ample implementation in RFC2617 also ignores the case
  of algorithms. So now this ignores those cases.
  [ruby-dev:43965] [Feature #4936]

* lib/webrick/httpauth/digestauth.rb (initialize):
  Because of above, opera_hack is useless and removed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-05 05:06:05 +00:00
nahi
635d13a8b7 * lib/webrick/httprequest.rb (setup_forwarded_info): Parsing request
header failed when the request is from 2 or more Apache reverse 
  proxies. It's said that all X-Forwarded-* headers will contain more
  than one (comma-separated) value if the original request already
  contained one of these headers.  Since we could use these values as
  Host header, we choose the initial(first) value. See #4922.

* test/webrick/test_httprequest.rb (test_forwarded): Test it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-24 11:05:59 +00:00
nahi
45f164eaeb * lib/webrick/accesslog.rb: Cosmetic fix of mismatched indentation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-23 07:22:37 +00:00
nahi
4ce1581475 * lib/webrick/httpresponse.rb (HTTPResponse#setup_header): Close
HTTP/1.1 connection when returning an IO object as response body 
  without setting HTTPResponse#chunked to true. See #855 no.1.

* test/webrick/test_httpserver.rb: Test it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-21 12:58:37 +00:00
nahi
15e7e472e6 * lib/webrick/cookie.rb (WEBrick::Cookie.parse): Revert r31228.
r31228 was for allowing the 'Cookie:' header which did not have no 
  SP after ';' for separating cookie-pairs but RFC6265 requires single 
  SP after ';' there.  We allow multiple SPs here for compatibility 
  with older WEBrick version.

* test/webrick/test_cookie.rb: Test it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-20 06:48:40 +00:00