[#47790] [ruby-trunk - Bug #7097][Open] Thread locals don't work inside Enumerator — "tenderlovemaking (Aaron Patterson)" <aaron@...>

32 messages 2012/10/01
[#47791] [ruby-trunk - Bug #7097][Assigned] Thread locals don't work inside Enumerator — "kosaki (Motohiro KOSAKI)" <kosaki.motohiro@...> 2012/10/01

[#47792] Re: [ruby-trunk - Bug #7097][Assigned] Thread locals don't work inside Enumerator — Aaron Patterson <tenderlove@...> 2012/10/01

On Tue, Oct 02, 2012 at 03:05:17AM +0900, kosaki (Motohiro KOSAKI) wrote:

[#47798] Re: [ruby-trunk - Bug #7097][Assigned] Thread locals don't work inside Enumerator — SASADA Koichi <ko1@...> 2012/10/01

(2012/10/02 3:12), Aaron Patterson wrote:

[#47800] Re: [ruby-trunk - Bug #7097][Assigned] Thread locals don't work inside Enumerator — SASADA Koichi <ko1@...> 2012/10/01

(2012/10/02 8:22), SASADA Koichi wrote:

[#47832] [ruby-trunk - Feature #7106][Open] FileUtils.touch should allow touching the symlink itself rather than the file the link points to — "cirrusthinking (Alessandro Diaferia)" <alessandro@...>

18 messages 2012/10/04

[#47847] [ruby-trunk - Bug #7110][Open] CGI: Add support for HTML5 <header> tag — "stomar (Marcus Stollsteimer)" <redmine@...>

16 messages 2012/10/05

[#47870] [ruby-trunk - Bug #7123][Open] Segmentation fault in ruby 1.9.3-p194 — "mscottford (M. Scott Ford)" <scott@...>

13 messages 2012/10/09

[#47880] [ruby-trunk - Bug #7134][Open] Signal handling bug in Mac OS X — "auastro (Andy Kitchen)" <kitchen.andy+rubybug@...>

17 messages 2012/10/10

[#47881] [ruby-trunk - Bug #7135][Open] GC bug in Ruby 1.9.3-p194? — "alexdowad (Alex Dowad)" <alexinbeijing@...>

21 messages 2012/10/10

[#47887] [ruby-trunk - Bug #7137][Open] Date.parse overly lenient when attempting to parse Monday? — "garysweaver (Gary Weaver)" <garysweaver@...>

12 messages 2012/10/10

[#47930] [ruby-trunk - Feature #7148][Open] Improved Tempfile w/o DelegateClass — "Glass_saga (Masaki Matsushita)" <glass.saga@...>

14 messages 2012/10/12

[#47970] [ruby-trunk - Bug #7158][Open] require is slow in its bookkeeping; can make Rails startup 2.2x faster — "gregprice (Greg Price)" <price@...>

30 messages 2012/10/14

[#48027] [Backport93 - Backport #7172][Open] [[Ruby 1.9:]] fix rbconfig for --enable-load-relative (v2) — "mpapis (Michal Papis)" <mpapis@...>

13 messages 2012/10/16

[#48053] [ruby-trunk - Bug #7180][Open] set_trace_func with error in proc block locks up Ruby with 100% cpu usage and no way to exit without killing proc — "garysweaver (Gary Weaver)" <garysweaver@...>

8 messages 2012/10/17

[#48072] [ruby-trunk - Bug #7184][Open] --disable-gems commandline parameter does not show up with ruby -h — "steenslag (siep korteling)" <s.korteling@...>

10 messages 2012/10/18

[#48130] [ruby-trunk - Bug #7200][Open] Setting external encoding with BOM| — "brixen (Brian Ford)" <brixen@...>

14 messages 2012/10/21

[#48191] [ANN] 2.0.0 feature freeze — Yusuke Endoh <mame@...>

Japanese later; 日本語は後で

37 messages 2012/10/24
[#48696] Re: [ANN] 2.0.0 feature freeze — SASADA Koichi <ko1@...> 2012/11/01

(2012/10/24 5:39), Yusuke Endoh wrote:

[#48260] [ruby-trunk - Bug #7214][Open] Ruby 2.0 breaks support for some debugging tools — "banister (john mair)" <jrmair@...>

22 messages 2012/10/25

[#48315] [ruby-trunk - Bug #7220][Open] StringIO#initialize_copy causes aliasing between the objects — "brixen (Brian Ford)" <brixen@...>

13 messages 2012/10/26

[#48413] [ruby-trunk - Bug #7221][Open] Unable to compile kgio under 1.9.3 with error: ruby-1.9.3-<plvl>/lib/ruby/1.9.1/mkmf.rb:597:in `Integer': can't convert nil into Integer (TypeError) — "davidderyldowney (David Deryl Downey)" <me@...>

9 messages 2012/10/27

[#48549] [ruby-trunk - Feature #7240][Open] Inheritable #included/#extended Hooks For Modules — "apotonick (Nick Sutterer)" <apotonick@...>

14 messages 2012/10/29

[#48551] [ruby-trunk - Feature #7241][Open] Enumerable#to_h proposal — "nathan.f77 (Nathan Broadbent)" <nathan.f77@...>

23 messages 2012/10/29

[#48552] [ruby-trunk - Bug #7242][Open] Bignum mathematical accuracy regression in r31695 — "mhall (Matthew Hall)" <mhall@...>

11 messages 2012/10/29

[ruby-core:48108] [ruby-trunk - Feature #5064] HTTP user-agent class

From: "elninorian (menuju sukses sukses)" <rian_barkah88@...>
Date: 2012-10-19 06:04:16 UTC
List: ruby-core #48108
Issue #5064 has been updated by elninorian (menuju sukses sukses).


http://www.howtogetaflatstomachforgirls.com/
http://www.howtogetaflatstomachforgirls.com/lose-weight/lose-weight-teenage-girls/
http://www.howtogetaflatstomachforgirls.com/uncategorized/reviews-flat-belly-diet-book-work/
http://www.howtogetaflatstomachforgirls.com/diet/diet-rich-cellulose/
http://www.howtogetaflatstomachforgirls.com/belly-fat/flat-belly-menopause/
http://www.howtogetaflatstomachforgirls.com/flat-belly/flat-belly-menu-plan-vegetarians/
http://www.howtogetaflatstomachforgirls.com/flat-stomach-for-girls/how-to-get-a-flat-stomach-for-girls-in-2-weeks/
http://www.howtogetaflatstomachforgirls.com/have-a-flat-stomach-for-girls/how-to-have-a-flat-stomach-for-girls-a/
http://www.howtogetaflatstomachforgirls.com/weight-loss-secrets/the-secret-to-losing-weight/
http://www.howtogetaflatstomachforgirls.com/exercise-to-slim-legs/exercise-to-slim-legs/
http://www.howtogetaflatstomachforgirls.com/weight-loss-secrets/lose-6-pounds-in-a-week/
http://www.howtogetaflatstomachforgirls.com/diet/ketogenic-diet-risks/
http://www.howtogetaflatstomachforgirls.com/lose-pounds/lose-6-pounds-in-two-weeks/
http://www.howtogetaflatstomachforgirls.com/belly-fat/belly-fat-under-belly-button/
http://www.howtogetaflatstomachforgirls.com/flat-stomach-for-girls/how-to-get-a-flat-stomach-for-girls-fast/
http://www.howtogetaflatstomachforgirls.com/a-flat-stomach/flat-stomach-in-a-month/
http://www.howtogetaflatstomachforgirls.com/belly-fat/flatten-belly-fast/
http://www.howtogetaflatstomachforgirls.com/abs/how-to-get-abs-for-girls-women/
http://www.howtogetaflatstomachforgirls.com/flat-stomach-fast-for-girls/how-to-get-a-flat-stomach-for-girls-a/
http://www.howtogetaflatstomachforgirls.com/flat-belly/flat-belly-solution/
http://www.howtogetaflatstomachforgirls.com/exercises-work/exercises-work-flat-stomach/
http://www.howtogetaflatstomachforgirls.com/a-flat-stomach/foods-flat-stomach/
http://www.howtogetaflatstomachforgirls.com/flat-stomach-diet-does-work/flat-stomach-diet-work/
http://www.howtogetaflatstomachforgirls.com/cardio-training-tips-workout/cardio-training-tips-workout-flat-stomach/
http://www.howtogetaflatstomachforgirls.com/bonus-buy-flat-stomach/bonus-buy-flat-stomach-diet-does-work/
http://www.howtogetaflatstomachforgirls.com/flat-stomach-ebook/flat-stomach-ebook-download/
http://www.howtogetaflatstomachforgirls.com/flat-stomach-program/flat-stomach-programme-exercise-training-workout-gym-2012/
http://www.howtogetaflatstomachforgirls.com/abs/how-to-have-defined-abs/
http://www.howtogetaflatstomachforgirls.com/weight-loss-secrets/lose-weight-while-walking/
http://www.howtogetaflatstomachforgirls.com/stomach-for-girls-in-a-week/how-to-get-a-flat-stomach-for-girls-in-a-week-for-teenagers/
http://www.howtogetaflatstomachforgirls.com/secrets-to-lose-weight-fast/secrets-to-lose-weight-fast/
http://www.howtogetaflatstomachforgirls.com/exercises-for-flat-stomach/how-to-get-a-flat-stomach-for-girls-exercises/
http://www.howtogetaflatstomachforgirls.com/to-get-a-flat-stomach-at-home-for-girls/how-to-get-a-flat-stomach-at-home-for-girls-fast-for-girls-at-home/
http://www.howtogetaflatstomachforgirls.com/tips-for-slimming-stomach/tips-for-slimming-stomach-weigh-your-belly/
http://www.howtogetaflatstomachforgirls.com/flat-stomach-for-girls/flat-stomach-for-girls/
http://www.howtogetaflatstomachforgirls.com/a-flat-stomach/a-flat-stomach-the-ideal-diet-and-exercise-system-beautiful-belly/
http://www.howtogetaflatstomachforgirls.com/belly-fat/flat-belly-menu-plan/
http://www.howtogetaflatstomachforgirls.com/flat-belly/menu-plan-flat-belly-diet/
http://www.howtogetaflatstomachforgirls.com/weight-loss-secrets/lose-3-kg-in-3-days-how-to-lose-3-kg-in-3-days/
http://www.howtogetaflatstomachforgirls.com/diet/moerman-diet/
http://www.howtogetaflatstomachforgirls.com/weight-loss-secrets/lose-4-kg-how-to-lose-4-kg/
http://www.howtogetaflatstomachforgirls.com/belly-fat/how-to-lose-belly-fat-swimming/
http://www.howtogetaflatstomachforgirls.com/belly-fat/fast-flatten-belly-fast/
http://www.howtogetaflatstomachforgirls.com/how-to-lose-3-kg-in-a-month/how-to-lose-3-kg-in-a-month/
http://www.howtogetaflatstomachforgirls.com/flat-stomach-for-girls/girls-with-flat-stomach/
http://www.howtogetaflatstomachforgirls.com/flat-stomach-for-girls/how-long-does-it-take-to-get-a-flat-stomach-for-girls/
http://www.howtogetaflatstomachforgirls.com/how-do-i-lose-weight-in-a-week/how-do-i-lose-weight-in-a-week/

http://www.fatburningfoodsformen1.com/belly-fat-exercises-for-men.htm
http://www.fatburningfoodsformen1.com/abs-exercises-for-men.htm
http://www.fatburningfoodsformen1.com/green-tea-burn-belly-fat.htm
http://www.fatburningfoodsformen1.com/belly-fat-exercises-for-men.htm
http://www.fatburningfoodsformen1.com/the-man-diet-free-download.htm

----------------------------------------
Feature #5064: HTTP user-agent class
https://bugs.ruby-lang.org/issues/5064#change-31067

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/

In This Thread