doAction() — fiber Function Reference
Architecture documentation for the doAction() function in proxy.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD 8fe027cc_2ba5_d594_f941_013559087e63["doAction()"] 409bdb74_0bb5_be72_7b00_0c1c6089b005["proxy.go"] 8fe027cc_2ba5_d594_f941_013559087e63 -->|defined in| 409bdb74_0bb5_be72_7b00_0c1c6089b005 c2502153_4789_a74e_f3f8_bc71e346f366["Do()"] c2502153_4789_a74e_f3f8_bc71e346f366 -->|calls| 8fe027cc_2ba5_d594_f941_013559087e63 e67f03d6_d525_7e2e_95cc_2faca6650f85["DoRedirects()"] e67f03d6_d525_7e2e_95cc_2faca6650f85 -->|calls| 8fe027cc_2ba5_d594_f941_013559087e63 5011faee_a0f5_2df5_4e52_eef3cde22ef1["DoDeadline()"] 5011faee_a0f5_2df5_4e52_eef3cde22ef1 -->|calls| 8fe027cc_2ba5_d594_f941_013559087e63 9a4509ed_ab5b_9dd6_929a_46608962a2d8["DoTimeout()"] 9a4509ed_ab5b_9dd6_929a_46608962a2d8 -->|calls| 8fe027cc_2ba5_d594_f941_013559087e63 b34610ce_5ed0_3189_fb29_658fab24febf["getScheme()"] 8fe027cc_2ba5_d594_f941_013559087e63 -->|calls| b34610ce_5ed0_3189_fb29_658fab24febf style 8fe027cc_2ba5_d594_f941_013559087e63 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
middleware/proxy/proxy.go lines 167–203
func doAction(
c fiber.Ctx,
addr string,
action func(cli *fasthttp.Client, req *fasthttp.Request, resp *fasthttp.Response) error,
clients ...*fasthttp.Client,
) error {
var cli *fasthttp.Client
// set local or global client
if len(clients) != 0 {
cli = clients[0]
} else {
lock.RLock()
cli = client
lock.RUnlock()
}
req := c.Request()
res := c.Response()
originalURL := utils.CopyString(c.OriginalURL())
defer req.SetRequestURI(originalURL)
copiedURL := utils.CopyString(addr)
req.SetRequestURI(copiedURL)
// NOTE: if req.isTLS is true, SetRequestURI keeps the scheme as https.
// Reference: https://github.com/gofiber/fiber/issues/1762
if scheme := getScheme(utils.UnsafeBytes(copiedURL)); len(scheme) > 0 {
req.URI().SetSchemeBytes(scheme)
}
req.Header.Del(fiber.HeaderConnection)
if err := action(cli, req, res); err != nil {
return err
}
res.Header.Del(fiber.HeaderConnection)
return nil
}
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does doAction() do?
doAction() is a function in the fiber codebase, defined in middleware/proxy/proxy.go.
Where is doAction() defined?
doAction() is defined in middleware/proxy/proxy.go at line 167.
What does doAction() call?
doAction() calls 1 function(s): getScheme.
What calls doAction()?
doAction() is called by 4 function(s): Do, DoDeadline, DoRedirects, DoTimeout.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free