Files
fasthttp/examples/host_client/hostclient.go
T
Sergey Ponomarev 632e222c2a Client examples (#1208)
* examples/host_client

* examples/client

* examples/client/client.go refine imports

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

* examples/host_client/hostclient.go refine imports

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

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

36 lines
801 B
Go

package main
import (
"fmt"
"os"
"github.com/valyala/fasthttp"
)
func main() {
// Get URI from a pool
url := fasthttp.AcquireURI()
url.Parse(nil, []byte("http://localhost:8080/"))
url.SetUsername("Aladdin")
url.SetPassword("Open Sesame")
hc := &fasthttp.HostClient{
Addr: "localhost:8080", // The host address and port must be set explicitly
}
req := fasthttp.AcquireRequest()
req.SetURI(url) // copy url into request
fasthttp.ReleaseURI(url) // now you may release the URI
req.Header.SetMethod(fasthttp.MethodGet)
resp := fasthttp.AcquireResponse()
err := hc.Do(req, resp)
fasthttp.ReleaseRequest(req)
if err == nil {
fmt.Printf("Response: %s\n", resp.Body())
} else {
fmt.Fprintf(os.Stderr, "Connection error: %s\n", err)
}
fasthttp.ReleaseResponse(resp)
}