[#46049] [ruby-trunk - Feature #6590] Dealing with bigdecimal, etc gems in JRuby — "mrkn (Kenta Murata)" <muraken@...>
[#46078] [ruby-trunk - Feature #2565] adding hooks for better tracing — "mame (Yusuke Endoh)" <mame@...>
On Mon, Jul 02, 2012 at 03:06:59AM +0900, mame (Yusuke Endoh) wrote:
[#46127] [ruby-trunk - Feature #2565] adding hooks for better tracing — "vo.x (Vit Ondruch)" <v.ondruch@...>
[#46160] [ruby-trunk - Feature #6693][Open] Don't warn for unused variables starting with _ — "marcandre (Marc-Andre Lafortune)" <ruby-core@...>
[#46163] [ruby-trunk - Feature #6695][Open] Configuration for Thread/Fiber creation — "ko1 (Koichi Sasada)" <redmine@...>
[#46172] [ruby-trunk - Feature #6697][Open] [PATCH] Add Kernel#Symbol conversion method like String(), Array() etc. — "madeofcode (Mark Dodwell)" <mark@...>
[#46236] [ruby-trunk - Bug #6704][Open] Random core dump — "trans (Thomas Sawyer)" <transfire@...>
[#46248] building ruby-1.9.3-p194 on AIX 6.1 TL05 SP06 — Perry Smith <pedzsan@...>
I am just now starting to debug this but hoped someone has already blazed this trail.
Hi Perry
Hi Perry,
[#46276] Lambdaification of Method Calls — Robert Klemme <shortcutter@...>
Hi,
[#46320] [ruby-trunk - Feature #6721][Open] Object#yield_self — "alexeymuranov (Alexey Muranov)" <redmine@...>
[#46339] [ruby-trunk - Bug #6724][Open] waaaaaaant! ( — "zenspider (Ryan Davis)" <redmine@...>
On Thu, Jul 12, 2012 at 08:58:36AM +0900, zenspider (Ryan Davis) wrote:
On Tue, Jul 17, 2012 at 6:27 PM, Aaron Patterson
[#46377] [ruby-trunk - Feature #6727][Open] Add Array#rest (with implementation) — "duckinator (Nick Markwell)" <nick@...>
[#46420] [ruby-trunk - Feature #6731][Open] add new method "Object.present?" as a counter to #empty? — "rogerdpack (Roger Pack)" <rogerpack2005@...>
[#46500] [ruby-trunk - Feature #6739][Open] One-line rescue statement should support specifying an exception class — Quintus (Marvin Gülker) <sutniuq@...>
[#46535] [ruby-trunk - Bug #6749][Open] rdoc of Time class (incorrect explanation of leap seconds) — "stomar (Marcus Stollsteimer)" <redmine@...>
Hi Eric,
On Jul 23, 2012, at 11:52 PM, sto.mar@web.de wrote:
Am 24.07.2012 19:44, schrieb Eric Hodel:
[#46546] Fwd: [ruby-cvs:43609] ko1:r36433 (trunk): * thread.c (rb_thread_call_without_gvl2): added. — SASADA Koichi <ko1@...>
Hi,
SASADA Koichi <ko1@atdot.net> wrote:
[#46553] [ruby-trunk - Feature #2565] adding hooks for better tracing — "tenderlovemaking (Aaron Patterson)" <aaron@...>
[#46564] Ruby under CI - Windows — Luis Lavena <luislavena@...>
Hello,
[#46574] [ruby-trunk - Feature #6762][Open] Control interrupt timing — "ko1 (Koichi Sasada)" <redmine@...>
"ko1 (Koichi Sasada)" <redmine@ruby-lang.org> wrote:
I was suggesting "interruptible" as a better alternative for
[#46577] [ruby-trunk - Feature #6763][Open] Introduce Flonum technique to speedup floating computation on th 64bit environment — "ko1 (Koichi Sasada)" <redmine@...>
[#46586] [ruby-trunk - Bug #6764][Open] IO#read(size, buf) causes can't set length of shared string in trunk (2.0.0dev) — "nahi (Hiroshi Nakamura)" <nakahiro@...>
[#46641] [ruby-trunk - Bug #6780][Open] cannot compile zlib module, when cross-compiling. — "jinleileiking (lei king)" <jinleileiking@...>
[#46686] [ruby-trunk - Bug #6784][Open] Test failures related to numeric with x64 mingw — "h.shirosaki (Hiroshi Shirosaki)" <h.shirosaki@...>
[#46741] [ruby-trunk - Bug #6789][Open] parse.y compilation error due not updated id.h — "luislavena (Luis Lavena)" <luislavena@...>
[#46744] [ruby-trunk - Bug #6791][Open] ext/js on/generator/generator.c fails to compile on nightly build (AIX 6.1) — "pedz (Perry Smith)" <pedz@...>
Hi Perry,
[#46772] Ruby 1.9.3 release? — Charles Oliver Nutter <headius@...>
JRuby will soon release 1.7.0pre2, the second preview of 1.7. Perhaps
(2012/07/26 7:07), Charles Oliver Nutter wrote:
On Sat, Jul 28, 2012 at 10:59 PM, NARUSE, Yui <naruse@airemix.jp> wrote:
[#46792] [ruby-trunk - Bug #6799][Open] Digest::*.hexdigest returns an ASCII-8BIT String — "Eregon (Benoit Daloze)" <redmine@...>
[#46832] [ruby-trunk - Bug #6807][Open] Can't compile ruby without ruby — "devcurmudgeon (Paul Sherwood)" <storitel@...>
[#46834] [ruby-trunk - Feature #6808][Open] Implicit index for enumerations — "trans (Thomas Sawyer)" <transfire@...>
[#46838] [ruby-trunk - Bug #6810][Open] `module A::B; end` is not equivalent to `module A; module B; end; end` with respect to constant lookup (scope) — "alexeymuranov (Alexey Muranov)" <redmine@...>
[#46854] [ruby-trunk - Feature #6811][Open] File, Dir and FileUtils should have bang-versions of singleton methods that fails silently — "prijutme4ty (Ilya Vorontsov)" <prijutme4ty@...>
[#46896] (Half-baked DRAFT) new `require' framework — SASADA Koichi <ko1@...>
Hi,
2012/7/31 SASADA Koichi <ko1@atdot.net>
On 31/07/12 13:29, SASADA Koichi wrote:
On Tue, Jul 31, 2012 at 12:07 PM, Alex Young <alex@blackkettle.org> wrote:
On 01/08/2012, at 5:59 AM, Trans wrote:
(2012/07/31 21:29), SASADA Koichi wrote:
If one is considering importing archive files like zip, tar, jar, or gem, I
On Tue, Aug 7, 2012 at 8:48 AM, Rocky Bernstein <rockyb@rubyforge.org> wrote:
[ruby-core:46216] [ruby-trunk - Feature #5064] HTTP user-agent class
Issue #5064 has been updated by jaffa62 (jaffa wify).
Software can be patented in some but not all countries, however, software patents can be controversial in the software industry with many people holding different views about it. The controversy over software patents is about specific algorithms or techniques that the software contains, which may not be duplicated by others and considered intellectual property and copyright infringement depending on the severity. Thanks a lot. Regards,
http://www.onlineeditingservices.net/editing-and-proofreading-writing-services-you-can-trust/
----------------------------------------
Feature #5064: HTTP user-agent class
https://bugs.ruby-lang.org/issues/5064#change-27844
Author: drbrain (Eric Hodel)
Status: Assigned
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category: lib
Target version: 1.9.4
Currently there are some problems with Net::HTTP:
* Too many ways to use (user confusion)
* No automatic support for HTTPS (must conditionally set use_ssl)
* No automatic support for HTTPS peer verification (must be manually set)
* Single-connection oriented
* No support for redirect-following
* No support for HTTP/1.1 persistent connection retry (RFC 2616 8.1.4)
* No automatic support for HTTP proxies
* No automatic support for authentication (must be set per-request)
Additionally the style of the API of Net::HTTP makes it difficult to take advantage of persistent connections. The user has to store the created connection and manually handle restarting the connection if it has timed out or is closed by the server.
RFC 2616 8.1.1 has a large section explaining the benefits of persistent connections, but while Net::HTTP implements persistent connections they could be easier for users to implement with next work.
I've implemented support for many of these additional features of Net::HTTP in various projects and I'd like Ruby to have the features required to make a useful HTTP user-agent built-in.
The agent should have the following responsibilities:
* Make or reuse connections based on [host, port, SSL enabled]
* Automatically enable SSL for https URIs
* Automatically enable SSL peer verification for SSL connections
* Limit number of persistent connections per host
* Follow redirects
* Retry when a persistent connection fails
* Automatically configure proxies
* Automatically use authentication
* Callbacks for various options connect
The agent may add the following responsibilities:
* Default headers for all requests
* HTTP cookies
* Tracking history
* Logging
I don't think any of these features are critical as they are implementable by users via callbacks.
The agent would have the following configurable items:
* Number of connections per host
* Depth of redirects followed
* Persistent connection retries (none, HTTP/1.1 (default), always)
* Proxy host, port, user, password
I think the class should be called Net::HTTP::Agent.
Basic use would look something like this:
uris = [
URI('http://example/1'),
URI('http://example/2'),
URI('https://secure.example'),
]
agent = Net::HTTP::Agent.new
uris.map do |uri|
agent.get uri # Returns Net::HTTPResponse
end
For special requests a Net::HTTPRequest could be constructed:
req = Net::HTTP::Get.new uri.request_uri
# do something special with req
agent.request req
The agent should support GET, POST, etc. directly through API methods. I think the API should look something like this:
def get uri_or_string, query = nil, headers = nil
# Same for other requests with no body
#
# query may be a Hash or String
# How query param vs query string in URI is used is undecided
def post uri_or_string, data, headers = nil
# same for other requests with a body
#
# data may be a String, IO or Hash
# How data format is chosen is undecided
SSL options, proxy options, timeouts and similar options should exist on Net::HTTP::Agent and be set on new connections as they are made.
I've implemented most of these features in mechanize as Mechanize::HTTP::Agent. The Agent class in mechanize is bigger than is necessary and would need to be cut-down for inclusion in Ruby as Net::HTTP::Agent
https://github.com/tenderlove/mechanize/blob/master/lib/mechanize/http/agent.rb
Mechanize depends on net-http-persistent to provide HTTP/1.1 retry support and connection management:
https://github.com/drbrain/net-http-persistent/blob/master/lib/net/http/persistent.rb
Portions of net-http-persistent should be patches of Net::HTTP, for example #idempotent? #can_retry?, #reset and portions of #request. Other parts (connection management) should be moved to Net::HTTP::Agent.
net-http-persistent provides a separate connection list per thread. I would like Net::HTTP::Agent to be multi-thread friendly but implementing this in another way would be fine.
As an addendum, open-uri and mechanize should be written to take advantage of Net::HTTP::Agent on order to guide useful implementation.
--
http://bugs.ruby-lang.org/