Skip to main content
Version: Next

🍳 Examples

Basic Auth

package main

import (
"encoding/base64"
"fmt"

"github.com/gofiber/fiber/v3/client"
)

func main() {
cc := client.New()

out := base64.StdEncoding.EncodeToString([]byte("john:doe"))
resp, err := cc.Get("http://localhost:3000", client.Config{
Header: map[string]string{
"Authorization": "Basic " + out,
},
})
if err != nil {
panic(err)
}

fmt.Print(string(resp.Body()))
}

TLS

package main

import (
"crypto/tls"
"crypto/x509"
"fmt"
"os"

"github.com/gofiber/fiber/v3/client"
)

func main() {
cc := client.New()

certPool, err := x509.SystemCertPool()
if err != nil {
panic(err)
}

cert, err := os.ReadFile("ssl.cert")
if err != nil {
panic(err)
}

certPool.AppendCertsFromPEM(cert)
cc.SetTLSConfig(&tls.Config{
RootCAs: certPool,
})

resp, err := cc.Get("https://localhost:3000")
if err != nil {
panic(err)
}

fmt.Print(string(resp.Body()))
}

Cookiejar

Request

func main() {
jar := client.AcquireCookieJar()
defer client.ReleaseCookieJar(jar)

cc := client.New()
cc.SetCookieJar(jar)

jar.SetKeyValueBytes("httpbin.org", []byte("john"), []byte("doe"))

resp, err := cc.Get("https://httpbin.org/cookies")
if err != nil {
panic(err)
}

fmt.Println(string(resp.Body()))
}
Click here to see the result
{
"cookies": {
"john": "doe"
}
}

Response

func main() {
jar := client.AcquireCookieJar()
defer client.ReleaseCookieJar(jar)

cc := client.New()
cc.SetCookieJar(jar)

_, err := cc.Get("https://httpbin.org/cookies/set/john/doe")
if err != nil {
panic(err)
}

uri := fasthttp.AcquireURI()
defer fasthttp.ReleaseURI(uri)

uri.SetHost("httpbin.org")
uri.SetPath("/cookies")
fmt.Println(jar.Get(uri))
}
Click here to see the result
[john=doe; path=/]

Response 2

func main() {
jar := client.AcquireCookieJar()
defer client.ReleaseCookieJar(jar)

cc := client.New()
cc.SetCookieJar(jar)

_, err := cc.Get("https://httpbin.org/cookies/set/john/doe")
if err != nil {
panic(err)
}

resp, err := cc.Get("https://httpbin.org/cookies")
if err != nil {
panic(err)
}

fmt.Println(resp.String())
}
Click here to see the result
{
"cookies": {
"john": "doe"
}
}