|
145 | 145 | # - #content_length=: Sets the integer length for field <tt>'Content-Length</tt>.
|
146 | 146 | # - #content_type=: Sets the string value for field <tt>'Content-Type'</tt>.
|
147 | 147 | # - #proxy_basic_auth: Sets the string authorization header for <tt>'Proxy-Authorization'</tt>.
|
148 |
| -# - #range=: Sets the value for field +'Range'+. |
| 148 | +# - #set_range: Sets the value for field <tt>'Range'</tt>. |
149 | 149 | #
|
150 | 150 | # === Queries
|
151 | 151 | #
|
@@ -460,8 +460,16 @@ def capitalize(name)
|
460 | 460 | end
|
461 | 461 | private :capitalize
|
462 | 462 |
|
463 |
| - # Returns an Array of Range objects which represent the Range: |
464 |
| - # HTTP header field, or +nil+ if there is no such header. |
| 463 | + # Returns an array of Range objects that represent |
| 464 | + # the value of field <tt>'Range'</tt>, |
| 465 | + # or +nil+ if there is no such field; |
| 466 | + # see {Range request header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#range-request-header]: |
| 467 | + # |
| 468 | + # req['Range'] = 'bytes=0-99,200-299,400-499' |
| 469 | + # req.range # => [0..99, 200..299, 400..499] |
| 470 | + # req.delete('Range') |
| 471 | + # req.range # # => nil |
| 472 | + # |
465 | 473 | def range
|
466 | 474 | return nil unless @header['range']
|
467 | 475 |
|
@@ -504,14 +512,30 @@ def range
|
504 | 512 | result
|
505 | 513 | end
|
506 | 514 |
|
507 |
| - # Sets the HTTP Range: header. |
508 |
| - # Accepts either a Range object as a single argument, |
509 |
| - # or a beginning index and a length from that index. |
510 |
| - # Example: |
| 515 | + # :call-seq: |
| 516 | + # set_range(length) -> length |
| 517 | + # set_range(offset, length) -> range |
| 518 | + # set_range(begin..length) -> range |
| 519 | + # |
| 520 | + # Sets the value for field <tt>'Range'</tt>; |
| 521 | + # see {Range request header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#range-request-header]: |
| 522 | + # |
| 523 | + # With argument +length+: |
| 524 | + # |
| 525 | + # req.set_range(100) # => 100 |
| 526 | + # req['Range'] # => "bytes=0-99" |
| 527 | + # |
| 528 | + # With arguments +offset+ and +length+: |
| 529 | + # |
| 530 | + # req.set_range(100, 100) # => 100...200 |
| 531 | + # req['Range'] # => "bytes=100-199" |
| 532 | + # |
| 533 | + # With argument +range+: |
511 | 534 | #
|
512 |
| - # req.range = (0..1023) |
513 |
| - # req.set_range 0, 1023 |
| 535 | + # req.set_range(100..199) # => 100..199 |
| 536 | + # req['Range'] # => "bytes=100-199" |
514 | 537 | #
|
| 538 | + # Net::HTTPHeader#range= is an alias for Net::HTTPHeader#set_range. |
515 | 539 | def set_range(r, e = nil)
|
516 | 540 | unless r
|
517 | 541 | @header.delete 'range'
|
|
0 commit comments