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 :) +}