# Method Protocols.OBEX.Client()->do_request()

Method do_request

  ``array`(`int`|`Headers`) do_request(`Request` `r`, `Headers`|`void` `headers`, `string`|`void` `extra_req`)`

Description

  Perform a request/response exchange with the server, including processing of headers and request splitting.

Parameter `r`

  Request opcode

Parameter `headers`

  Request headers

Parameter `extra_req`

  Any request data that should appear before the headers, but after the opcode

Returns

  An array with the response information

  Array
  ``int` `returncode`` | An HTTP response code
  ``Headers` `headers`` | Response headers

See also

  low_do_request(), do_abort(), do_put(), do_get(), do_setpath(), do_session()