Test_Client_HostClient_Behavior() — fiber Function Reference
Architecture documentation for the Test_Client_HostClient_Behavior() function in client_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD 30fc5978_0571_1f22_5bf7_5752653b6f45["Test_Client_HostClient_Behavior()"] 5d11d0f7_2b3b_7bf3_3b1d_76d79d6872a2["client_test.go"] 30fc5978_0571_1f22_5bf7_5752653b6f45 -->|defined in| 5d11d0f7_2b3b_7bf3_3b1d_76d79d6872a2 d60625b6_c243_6c2d_ba86_cf99b49fb107["startTestServerWithPort()"] 30fc5978_0571_1f22_5bf7_5752653b6f45 -->|calls| d60625b6_c243_6c2d_ba86_cf99b49fb107 style 30fc5978_0571_1f22_5bf7_5752653b6f45 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
client/client_test.go lines 306–462
func Test_Client_HostClient_Behavior(t *testing.T) {
t.Parallel()
t.Run("do and redirects", func(t *testing.T) {
t.Parallel()
app, addr := startTestServerWithPort(t, func(app *fiber.App) {
app.Get("/ok", func(c fiber.Ctx) error {
return c.SendString("ok")
})
app.Get("/redirect", func(c fiber.Ctx) error {
return c.Redirect().Status(fiber.StatusFound).To("/ok")
})
})
t.Cleanup(func() {
require.NoError(t, app.Shutdown())
})
client := NewWithHostClient(&fasthttp.HostClient{Addr: addr})
resp, err := client.Get("http://" + addr + "/ok")
require.NoError(t, err)
require.Equal(t, fiber.StatusOK, resp.StatusCode())
require.Equal(t, "ok", resp.String())
resp, err = client.Get("http://"+addr+"/redirect", Config{MaxRedirects: 1})
require.NoError(t, err)
require.Equal(t, fiber.StatusOK, resp.StatusCode())
require.Equal(t, "ok", resp.String())
})
t.Run("retries respect dial overrides", func(t *testing.T) {
t.Parallel()
app, addr := startTestServerWithPort(t, func(app *fiber.App) {
app.Get("/", func(c fiber.Ctx) error {
return c.SendString("retry")
})
})
t.Cleanup(func() {
require.NoError(t, app.Shutdown())
})
client := NewWithHostClient(&fasthttp.HostClient{Addr: addr})
client.SetRetryConfig(&RetryConfig{
InitialInterval: time.Millisecond,
MaxRetryCount: 2,
})
var attempts int32
client.SetDial(func(address string) (net.Conn, error) {
if atomic.AddInt32(&attempts, 1) == 1 {
return nil, errors.New("dial failure")
}
return fasthttp.Dial(address)
})
resp, err := client.Get("http://" + addr)
require.NoError(t, err)
require.Equal(t, fiber.StatusOK, resp.StatusCode())
require.Equal(t, "retry", resp.String())
require.EqualValues(t, 2, atomic.LoadInt32(&attempts))
})
t.Run("tls configuration propagates", func(t *testing.T) {
t.Parallel()
serverTLSConf, clientTLSConf, err := tlstest.GetTLSConfigs()
require.NoError(t, err)
ln, err := net.Listen(fiber.NetworkTCP4, "127.0.0.1:0")
require.NoError(t, err)
ln = tls.NewListener(ln, serverTLSConf)
app := fiber.New()
app.Get("/", func(c fiber.Ctx) error {
return c.SendString("tls-host")
})
go func() {
assert.NoError(t, app.Listener(ln, fiber.ListenConfig{
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does Test_Client_HostClient_Behavior() do?
Test_Client_HostClient_Behavior() is a function in the fiber codebase, defined in client/client_test.go.
Where is Test_Client_HostClient_Behavior() defined?
Test_Client_HostClient_Behavior() is defined in client/client_test.go at line 306.
What does Test_Client_HostClient_Behavior() call?
Test_Client_HostClient_Behavior() calls 1 function(s): startTestServerWithPort.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free