# ri > Puma::Client

## [Puma::Client](https://www.chedong.com/phpMan.php/perldoc/Puma%3A%3AClient/markdown) < Object

------------------------------------------------------------------------
## Includes:
[Puma::Const](https://www.chedong.com/phpMan.php/perldoc/Puma%3A%3AConst/markdown) (from /home/chedong/.local/share/rdoc)

------------------------------------------------------------------------
## Extended by:
Forwardable (from /home/chedong/.local/share/rdoc)

(from /home/chedong/.local/share/rdoc)
------------------------------------------------------------------------
An instance of this class represents a unique request from a client. For
example, this could be a web request from a browser or from CURL.

An instance of [Puma::Client](https://www.chedong.com/phpMan.php/perldoc/Puma%3A%3AClient/markdown) can be used as if it were an IO object by
the reactor. The reactor is expected to call #to_io on any non-IO
objects it polls. For example, nio4r internally calls [IO::try_convert](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3Atryconvert/markdown)
(which may call #to_io) when a new socket is registered.

Instances of this class are responsible for knowing if the header and
body are fully buffered via the try_to_finish method. They can be used
to "time out" a response via the timeout_at reader.
------------------------------------------------------------------------
## Constants:

EmptyBody:
  The object used for a request with no body. All requests with no body
  share this one object since it has no state.


## Class methods:

  new

## Instance methods:

  body
  call
  can_close?
  close
  eagerly_finish
  env
  expect_proxy_proto=
  finish
  hijacked
  in_data_phase
  inspect
  io
  io_ok?
  listener
  peerip
  ready
  remote_addr_header
  reset
  set_timeout
  tempfile
  timeout
  timeout!
  timeout_at
  to_io
  try_to_finish
  try_to_parse_proxy_protocol
  write_error

## Attributes:

  attr_accessor listener
  attr_accessor remote_addr_header
  attr_reader body
  attr_reader env
  attr_reader hijacked
  attr_reader io
  attr_reader ready
  attr_reader tempfile
  attr_reader timeout_at
  attr_reader to_io
  attr_writer peerip

