module Net::WebMockHTTPResponse

def read_body(dest = nil, &block)

def read_body(dest = nil, &block)
  if !(defined?(@__read_body_previously_called).nil?) && @__read_body_previously_called
    return super
  end
  return @body if dest.nil? && block.nil?
  raise ArgumentError.new("both arg and block given for HTTP method") if dest && block
  return nil if @body.nil?
  dest ||= ::Net::ReadAdapter.new(block)
  dest << @body.dup
  @body = dest
ensure
  # allow subsequent calls to #read_body to proceed as normal, without our hack...
  @__read_body_previously_called = true
end