Test_Client_SetProxyURL() — fiber Function Reference
Architecture documentation for the Test_Client_SetProxyURL() function in client_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD 18378f7a_08ef_a89f_48f4_35faa3e01dd8["Test_Client_SetProxyURL()"] 5d11d0f7_2b3b_7bf3_3b1d_76d79d6872a2["client_test.go"] 18378f7a_08ef_a89f_48f4_35faa3e01dd8 -->|defined in| 5d11d0f7_2b3b_7bf3_3b1d_76d79d6872a2 style 18378f7a_08ef_a89f_48f4_35faa3e01dd8 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
client/client_test.go lines 2156–2239
func Test_Client_SetProxyURL(t *testing.T) {
t.Parallel()
app, dial, start := createHelperServer(t)
app.Get("/", func(c fiber.Ctx) error {
return c.SendString(c.Get("isProxy"))
})
go start()
fasthttpClient := &fasthttp.Client{
Dial: dial,
NoDefaultUserAgentHeader: true,
DisablePathNormalizing: true,
}
// Create a simple proxy server
proxyServer := fiber.New()
proxyServer.Use("*", func(c fiber.Ctx) error {
req := fasthttp.AcquireRequest()
resp := fasthttp.AcquireResponse()
req.SetRequestURI(c.BaseURL())
req.Header.SetMethod(fasthttp.MethodGet)
for key, value := range c.Request().Header.All() {
req.Header.AddBytesKV(key, value)
}
req.Header.Set("isProxy", "true")
if err := fasthttpClient.Do(req, resp); err != nil {
return err
}
c.Status(resp.StatusCode())
c.RequestCtx().SetBody(resp.Body())
return nil
})
addrChan := make(chan string)
go func() {
assert.NoError(t, proxyServer.Listen(":0", fiber.ListenConfig{
DisableStartupMessage: true,
ListenerAddrFunc: func(addr net.Addr) {
addrChan <- addr.String()
},
}))
}()
t.Cleanup(func() {
require.NoError(t, app.Shutdown())
})
time.Sleep(1 * time.Second)
t.Run("success", func(t *testing.T) {
t.Parallel()
client := New()
err := client.SetProxyURL(<-addrChan)
require.NoError(t, err)
resp, err := client.Get("http://localhost:3000")
require.NoError(t, err)
require.Equal(t, 200, resp.StatusCode())
require.Equal(t, "true", string(resp.Body()))
})
t.Run("error", func(t *testing.T) {
t.Parallel()
client := New()
err := client.SetProxyURL(":this is not a proxy")
require.NoError(t, err)
_, err = client.Get("http://localhost:3000")
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does Test_Client_SetProxyURL() do?
Test_Client_SetProxyURL() is a function in the fiber codebase, defined in client/client_test.go.
Where is Test_Client_SetProxyURL() defined?
Test_Client_SetProxyURL() is defined in client/client_test.go at line 2156.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free