Files
fasthttp/examples/client
Nikolay Vedernikov cdea4fe88e Refactor client's example code (#1539)
* Refactor client's example code

* Update examples/client/client.go

Remove closure

Co-authored-by: Erik Dubbelboer <erik@dubbelboer.com>

---------

Co-authored-by: Erik Dubbelboer <erik@dubbelboer.com>
2023-04-18 07:52:18 +02:00
..
2022-02-09 11:09:36 +01:00
2022-02-09 11:09:36 +01:00
2022-02-09 11:09:36 +01:00

Client Example

The Client is useful when working with multiple hostnames.

See the simplest sendGetRequest() for GET and more advanced sendPostRequest() for a POST request.

The sendPostRequest() also shows:

  • Per-request timeout with DoTimeout()
  • Send a body as bytes slice with SetBodyRaw(). This is useful if you generated a request body. Otherwise, prefer SetBody() which copies it.
  • Parse JSON from response
  • Gracefully show error messages i.e. timeouts as warnings and other errors as a failures with detailed error messages.

How to build and run

Start a web server on localhost:8080 then execute:

make
./client

Client vs HostClient

Internally the Client creates a dedicated HostClient for each domain/IP address and cleans unused after period of time. So if you have a single heavily loaded API endpoint it's better to use HostClient. See an example in the examples/host_client