module HTTPClient::SocketWrap

def <<(str)

def <<(str)
  @socket << str
end

def close

def close
  @socket.close
end

def closed?

def closed?
  @socket.closed?
end

def eof?

def eof?
  @socket.eof?
end

def flush

def flush
  @socket.flush
end

def gets(*args)

def gets(*args)
  @socket.gets(*args)
end

def initialize(socket, *args)

def initialize(socket, *args)
  super(*args)
  @socket = socket
end

def read(*args)

def read(*args)
  @socket.read(*args)
end

def readpartial(*args)

def readpartial(*args)
  # StringIO doesn't support :readpartial
  if @socket.respond_to?(:readpartial)
    @socket.readpartial(*args)
  else
    @socket.read(*args)
  end
end

def sync

def sync
  @socket.sync
end

def sync=(sync)

def sync=(sync)
  @socket.sync = sync
end