Class: HTTP::Message::Body::Parts
- Inherits:
-
Object
- Object
- HTTP::Message::Body::Parts
- Defined in:
- lib/httpclient/http.rb
Instance Attribute Summary (collapse)
-
- (Object) size
readonly
Returns the value of attribute size.
Instance Method Summary (collapse)
- - (Object) add(part)
-
- (Parts) initialize
constructor
A new instance of Parts.
- - (Object) parts
Constructor Details
- (Parts) initialize
A new instance of Parts
593 594 595 596 597 |
# File 'lib/httpclient/http.rb', line 593 def initialize @body = [] @size = 0 @as_stream = false end |
Instance Attribute Details
- (Object) size (readonly)
Returns the value of attribute size
591 592 593 |
# File 'lib/httpclient/http.rb', line 591 def size @size end |
Instance Method Details
- (Object) add(part)
599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 |
# File 'lib/httpclient/http.rb', line 599 def add(part) if Message.file?(part) @as_stream = true @body << part if part.respond_to?(:lstat) @size += part.lstat.size elsif part.respond_to?(:size) if sz = part.size @size += sz else @size = nil end else # use chunked upload @size = nil end elsif @body[-1].is_a?(String) @body[-1] += part.to_s @size += part.to_s.bytesize if @size else @body << part.to_s @size += part.to_s.bytesize if @size end end |
- (Object) parts
624 625 626 627 628 629 630 |
# File 'lib/httpclient/http.rb', line 624 def parts if @as_stream @body else [@body.join] end end |