From 215f1d2caf40258ab0ce86fd44b202b6636640ba Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Mon, 21 Dec 2015 11:29:12 +0200 Subject: [PATCH] Added an example for HostClient --- client_example_test.go | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 client_example_test.go diff --git a/client_example_test.go b/client_example_test.go new file mode 100644 index 0000000000..9a1ad6a201 --- /dev/null +++ b/client_example_test.go @@ -0,0 +1,39 @@ +package fasthttp_test + +import ( + "log" + + "github.com/valyala/fasthttp" +) + +func ExampleHostClient() { + // Perpare a client, which fetches webpages via HTTP proxy listening + // on the localhost:8080. + c := &fasthttp.HostClient{ + Addr: "localhost:8080", + } + + // Fetch google page via local proxy. + statusCode, body, err := c.Get(nil, "http://google.com/foo/bar") + if err != nil { + log.Fatalf("Error when loading google page through local proxy: %s", err) + } + if statusCode != fasthttp.StatusOK { + log.Fatalf("Unexpected status code: %d. Expecting %d", statusCode, fasthttp.StatusOK) + } + useResponseBody(body) + + // Fetch foobar page via local proxy. Reuse body buffer. + statusCode, body, err = c.Get(body, "http://foobar.com/google/com") + if err != nil { + log.Fatalf("Error when loading foobar page through local proxy: %s", err) + } + if statusCode != fasthttp.StatusOK { + log.Fatalf("Unexpected status code: %d. Expecting %d", statusCode, fasthttp.StatusOK) + } + useResponseBody(body) +} + +func useResponseBody(body []byte) { + // Do something with body :) +}