Class: WEBrick::HTTPResponse::ChunkedWrapper

Inherits:
Object
  • Object
show all
Defined in:
lib/webrick/httpresponse.rb

Instance Method Summary collapse

Constructor Details

#initialize(socket, resp) ⇒ ChunkedWrapper

Returns a new instance of ChunkedWrapper.



518
519
520
521
# File 'lib/webrick/httpresponse.rb', line 518

def initialize(socket, resp)
  @socket = socket
  @resp = resp
end

Instance Method Details

#<<(*buf) ⇒ Object



536
537
538
539
# File 'lib/webrick/httpresponse.rb', line 536

def <<(*buf)
  write(buf)
  self
end

#write(buf) ⇒ Object



523
524
525
526
527
528
529
530
531
532
533
534
# File 'lib/webrick/httpresponse.rb', line 523

def write(buf)
  return 0 if buf.empty?
  socket = @socket
  @resp.instance_eval {
    size = buf.bytesize
    data = "#{size.to_s(16)}#{CRLF}#{buf}#{CRLF}"
    socket.write(data)
    data.clear
    @sent_size += size
    size
  }
end