40 lines
1.0 KiB
Go
40 lines
1.0 KiB
Go
|
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 :)
|
||
|
}
|