Home / Function/ resolveRemoteAddr() — fiber Function Reference

resolveRemoteAddr() — fiber Function Reference

Architecture documentation for the resolveRemoteAddr() function in adaptor.go from the fiber codebase.

Function go FiberCore Adapters calls 1 called by 1

Entity Profile

Dependency Diagram

graph TD
  86d4a824_2a2e_9467_1106_5313691a9e3c["resolveRemoteAddr()"]
  69780622_2588_e0fa_ab5a_13dcfd3559e7["adaptor.go"]
  86d4a824_2a2e_9467_1106_5313691a9e3c -->|defined in| 69780622_2588_e0fa_ab5a_13dcfd3559e7
  40aa2f1e_c86b_c607_5f05_d8382ca4e8ce["handlerFunc()"]
  40aa2f1e_c86b_c607_5f05_d8382ca4e8ce -->|calls| 86d4a824_2a2e_9467_1106_5313691a9e3c
  3fd13979_c4d2_76d1_2890_e8aecf5ae8e2["isUnixNetwork()"]
  86d4a824_2a2e_9467_1106_5313691a9e3c -->|calls| 3fd13979_c4d2_76d1_2890_e8aecf5ae8e2
  style 86d4a824_2a2e_9467_1106_5313691a9e3c fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

middleware/adaptor/adaptor.go lines 204–232

func resolveRemoteAddr(remoteAddr string, localAddr any) (net.Addr, error) {
	if addr, ok := localAddr.(net.Addr); ok && isUnixNetwork(addr.Network()) {
		return addr, nil
	}

	// Validate input to prevent malformed addresses
	if remoteAddr == "" {
		return nil, ErrRemoteAddrEmpty
	}

	resolved, err := net.ResolveTCPAddr("tcp", remoteAddr)
	if err == nil {
		return resolved, nil
	}

	var addrErr *net.AddrError
	if errors.As(err, &addrErr) && addrErr.Err == "missing port in address" {
		if len(remoteAddr) > 253 { // Max hostname length
			return nil, ErrRemoteAddrTooLong
		}
		remoteAddr = net.JoinHostPort(remoteAddr, "80")
		resolved, err2 := net.ResolveTCPAddr("tcp", remoteAddr)
		if err2 != nil {
			return nil, fmt.Errorf("failed to resolve TCP address after adding port: %w", err2)
		}
		return resolved, nil
	}
	return nil, fmt.Errorf("failed to resolve TCP address: %w", err)
}

Domain

Subdomains

Called By

Frequently Asked Questions

What does resolveRemoteAddr() do?
resolveRemoteAddr() is a function in the fiber codebase, defined in middleware/adaptor/adaptor.go.
Where is resolveRemoteAddr() defined?
resolveRemoteAddr() is defined in middleware/adaptor/adaptor.go at line 204.
What does resolveRemoteAddr() call?
resolveRemoteAddr() calls 1 function(s): isUnixNetwork.
What calls resolveRemoteAddr()?
resolveRemoteAddr() is called by 1 function(s): handlerFunc.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free