# Webrick and String#each

**URL:** <https://www.ruby-forum.com/t/webrick-and-string-each/77076>\
**Category:** Development\
**Created:** [November 24, 2006, 3:34am UTC](https://www.ruby-forum.com/t/webrick-and-string-each/77076 "2006-11-24T03:34:33Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![NARUSES\_Yui](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/258eb7/32.png) [@NARUSES\_Yui](https://www.ruby-forum.com/u/NARUSES_Yui)\
**Post date:** [November 24, 2006, 3:34am UTC](https://www.ruby-forum.com/t/webrick-and-string-each/77076/1 "2006-11-24T03:34:33Z")

</div>

e$B@.@%$G$9!#e(B

1.9 e$B$K$Fe(B webrick e$B$Ke(B String#each  
e$B:o=|$N1F6A$,$G$F$$$^$9!#e(B

raw e$B$Ke(B Array e$B$,Mh$F$7$^$C$?$j!“e(Bio e$B$Ke(B String  
e$B$,Mh$F$7$^$&%1!\<%9$,e(B  
e$B$”$k$3$H\<+BN$,$=$b$=$b$NLdBj$J5$$O$7$^$9$1$l$I!#e(B

e$B$J$\*;29M$^$G$K!“e(BContent-Disposition e$B$,$”$k;~$Ke(B raw e$B$,e(B  
Array e$B$K$J$j$^$9!#e(B

# Index: lib/webrick/httputils.rb

RCS file: /src/ruby/lib/webrick/httputils.rb,v  
retrieving revision 1.14  
diff -u -r1.14 httputils.rb  
— lib/webrick/httputils.rb 2 Nov 2006 00:21:27 -0000 1.14  
+++ lib/webrick/httputils.rb 23 Nov 2006 08:18:40 -0000  
@@ -127,7 +127,7 @@  
def parse\_header(raw)  
header = Hash.new([].freeze)  
field = nil

- 

```
 raw.lines.each{|line|

```

- 

```
 (raw.class.method_defined?(:lines) ? raw.lines : raw).each{|line|
   case line
   when /^([A-Za-z0-9!\#$%&'*+\-.^_`|~]+):\s*(.*?)\s*\z/om
     field, value = $1, $2

```

@@ -317,7 +317,7 @@  
form\_data = Hash.new  
return form\_data unless io  
data = nil

- 

```
 io.each{|line|

```

- 

```
 (io.class.method_defined?(:lines) ? io.lines : io).each{|line|
   if boundary_regexp =~ line
     if data
       data.chop!
```

---

<div class="post-metadata">

**Author:** ![NARUSES\_Yui](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/258eb7/32.png) [@NARUSES\_Yui](https://www.ruby-forum.com/u/NARUSES_Yui)\
**Post date:** [November 24, 2006, 7:45am UTC](https://www.ruby-forum.com/t/webrick-and-string-each/77076/2 "2006-11-24T07:45:00Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:29931] webrick and String#each”  
on Fri, 24 Nov 2006 11:33:22 +0900, “NARUSE, Yui”  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

|1.9 e$B$K$Fe(B webrick e$B$Ke(B String#each e$B:o=|$N1F6A$,$G$F$$$^$9!#e(B  
|  
|raw e$B$Ke(B Array e$B$,Mh$F$7$^$C$?$j!“e(Bio e$B$Ke(B String e$B$,Mh$F$7$^$&%1!\<%9$,e(B  
|e$B$”$k$3$H\<+BN$,$=$b$=$b$NLdBj$J5$$O$7$^$9$1$l$I!#e(B  
|  
|e$B$J$\*;29M$^$G$K!“e(BContent-Disposition e$B$,$”$k;~$Ke(B raw e$B$,e(B Array e$B$K$J$j$^$9!#e(B

e$B$(!\<$H!"$3$l$O8F$S=P$7B&$GBP=h$7$?$$$G$9!#e(B

---

<div class="post-metadata">

**Author:** ![NARUSES\_Yui](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/258eb7/32.png) [@NARUSES\_Yui](https://www.ruby-forum.com/u/NARUSES_Yui)\
**Post date:** [November 24, 2006, 7:57am UTC](https://www.ruby-forum.com/t/webrick-and-string-each/77076/3 "2006-11-24T07:57:00Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:29931] webrick and String#each”  
on Fri, 24 Nov 2006 11:33:22 +0900, “NARUSE, Yui”  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

|raw e$B$Ke(B Array e$B$,Mh$F$7$^$C$?$j!“e(Bio e$B$Ke(B String e$B$,Mh$F$7$^$&%1!\<%9$,e(B  
|e$B$”$k$3$H\<+BN$,$=$b$=$b$NLdBj$J5$$O$7$^$9$1$l$I!#e(B

e$B%3!\<%I$r8+$k$+$.$je(Bparse\_form\_datae$B$KEO$5$l$ke(Bio(body)e$B$OI,$:e(B  
String e$B$N$h$&$J5$$,$7$^$9!#e(BTempfilee$B$,Mh$k$3$H$rA[Dj$7$F$$$?e(B  
e$B$N$+$J$"!#e(B

# e$BF0E\*8@8l$O$3$&$$$&$N$K\<e$$!#e(B

---

<div class="post-metadata">

**Author:** ![NARUSES\_Yui](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/258eb7/32.png) [@NARUSES\_Yui](https://www.ruby-forum.com/u/NARUSES_Yui)\
**Post date:** [November 24, 2006, 1:43pm UTC](https://www.ruby-forum.com/t/webrick-and-string-each/77076/4 "2006-11-24T13:43:46Z")

</div>

e$B$o$?$J$Y$G$9!#e(B

“NARUSE, Yui” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

> retrieving revision 1.14  
> when /^([A-Za-z0-9!#$%&'_+-.^\_`|~]+):\s_(._?)\s_\z/om  
> field, value = $1, $2  
> @@ -317,7 +317,7 @@  
> form\_data = Hash.new  
> return form\_data unless io  
> data = nil
> 
> - 
> 
> ```
> io.each{|line|
> 
> ```
> 
> - 
> 
> ```
> (io.class.method_defined?(:lines) ? io.lines : io).each{|line|
> if boundary_regexp =~ line
> if data
> data.chop!
> 
> ```

IOe$B$de(BStringe$B$de(BStringIOe$B$K$O$=$N$?$a$Ne(Beach\_linee$B$,$"$k$N$G!"e(B  
e$B$3$3$G$O$=$l$r;H$C$?$[$&$,$$$$$G$7$g$&!#e(B  
1.8e$B$G$be(B1.9e$B$G$b;H$($^$9$7!#e(B

---

<div class="post-metadata">

**Author:** ![NARUSES\_Yui](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/258eb7/32.png) [@NARUSES\_Yui](https://www.ruby-forum.com/u/NARUSES_Yui)\
**Post date:** [November 24, 2006, 8:03am UTC](https://www.ruby-forum.com/t/webrick-and-string-each/77076/5 "2006-11-24T08:03:01Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

e$B$?$FB3$1$G$9$,!#e(B

In message “Re: [ruby-dev:29931] webrick and String#each”  
on Fri, 24 Nov 2006 11:33:22 +0900, “NARUSE, Yui”  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

|1.9 e$B$K$Fe(B webrick e$B$Ke(B String#each e$B:o=|$N1F6A$,$G$F$$$^$9!#e(B  
|  
|raw e$B$Ke(B Array e$B$,Mh$F$7$^$C$?$j!“e(Bio e$B$Ke(B String e$B$,Mh$F$7$^$&%1!\<%9$,e(B  
|e$B$”$k$3$H\<+BN$,$=$b$=$b$NLdBj$J5$$O$7$^$9$1$l$I!#e(B  
|  
|e$B$J$\*;29M$^$G$K!“e(BContent-Disposition e$B$,$”$k;~$Ke(B raw e$B$,e(B Array e$B$K$J$j$^$9!#e(B

e$B;d$Oe(BWebricke$B$K6/$/$J$$$s$G3N\>Z$O$J$$$s$G$9$,!"0J2\<$N%3!\<%I$Ge(B  
e$BLdBj$O2r7h$7$^$9$+!)e(B

diff --git a/ChangeLog b/ChangeLog  
index 65468be…13d051c 100644  
— a/ChangeLog  
+++ b/ChangeLog  
@@ -1,3 +1,11 @@  
+Fri Nov 24 15:57:25 2006 Yukihiro M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
+

- 
  - lib/webrick/httputils.rb (WEBrick::HTTPUtils::FormData::\<\<):

- 

```
HTTPUtils::parse_header() takes a string. [ruby-dev:29931]

```

- 
- 
  - lib/webrick/httputils.rb (WEBrick::HTTPUtils::parse\_form\_data):

- 

```
String does no longer have each method.

```

- 

Thu Nov 23 10:38:40 2006 Yukihiro M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

```
* eval.c (rb_mod_define_method): set implicit visibility only when

```

diff --git a/lib/webrick/httputils.rb b/lib/webrick/httputils.rb  
index 38a42b9…c853c96 100644  
— a/lib/webrick/httputils.rb  
+++ b/lib/webrick/httputils.rb  
@@ -244,7 +244,7 @@ module WEBrick  
if @header  
super  
elsif str == CRLF

- 

```
     @header = HTTPUtils::parse_header(@raw_header)

```

- 

```
     @header = HTTPUtils::parse_header(@raw_header.join)
     if cd = self['content-disposition']
       if /\s+name="(.*?)"/ =~ cd then @name = $1 end
       if /\s+filename="(.*?)"/ =~ cd then @filename = $1 end

```

@@ -317,7 +317,7 @@ module WEBrick  
form\_data = Hash.new  
return form\_data unless io  
data = nil

- 

```
 io.each{|line|

```

- 

```
 io.lines.each{|line|
   if boundary_regexp =~ line
     if data
       data.chop!

```

---

<div class="post-metadata">

**Author:** ![NARUSES\_Yui](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/258eb7/32.png) [@NARUSES\_Yui](https://www.ruby-forum.com/u/NARUSES_Yui)\
**Post date:** [November 25, 2006, 3:34am UTC](https://www.ruby-forum.com/t/webrick-and-string-each/77076/6 "2006-11-25T03:34:03Z")

</div>

e$B@.@%$G$9!#e(B

e$B$=$N%Q%C%A$G\<j85$G;n$7$?8B$j$G$OLdBj$J$/F0$-$^$7$?!#e(B

e$B$J$_!"$o$?$J$Y$5$s$N$_$C$7$c$k$H$\*$j!“e(B  
2e$B2U=j$”$ke(B lines.each e$B$re(B each\_line e$B$K$7$F$bF0$-$^$7$?!#e(B  
e$B$3$A$i$NJ}$,$$$$$+$b$7$l$^$;$s$M!#e(B
