# Method Protocols.HTTP.Query()->thread_request()

Method thread_request

  ``Protocols.HTTP.Query` thread_request(`string` `server`, `int` `port`, `string` `query`)`
  ``Protocols.HTTP.Query` thread_request(`string` `server`, `int` `port`, `string` `query`, `mapping` `headers`, `void`|`string` `data`)`

Description

  Create a new query object and begin the query.

  The query is executed in a background thread; call `() in the object to wait for the request to complete.

  `query` is the first line sent to the HTTP server; for instance `"GET /index.html HTTP/1.1"`.

  `headers` will be encoded and sent after the first line, and `data` will be sent after the headers.

Returns

  Returns the called object.