Home / Function/ Test_Listen_ListenerNetwork_Unix() — fiber Function Reference

Test_Listen_ListenerNetwork_Unix() — fiber Function Reference

Architecture documentation for the Test_Listen_ListenerNetwork_Unix() function in listen_test.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  2fc559cf_7937_08f9_74f5_8338fcd11c0a["Test_Listen_ListenerNetwork_Unix()"]
  edd60c6a_f37d_c392_5301_d2d5a002990a["listen_test.go"]
  2fc559cf_7937_08f9_74f5_8338fcd11c0a -->|defined in| edd60c6a_f37d_c392_5301_d2d5a002990a
  style 2fc559cf_7937_08f9_74f5_8338fcd11c0a fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

listen_test.go lines 569–629

func Test_Listen_ListenerNetwork_Unix(t *testing.T) {
	app := New()

	app.Get("/test", func(c Ctx) error {
		return c.SendString("all good")
	})

	var (
		f       os.FileInfo
		network string

		reqErr error
		resp   = &fasthttp.Response{}
	)

	// Create temporary directory for storing socket in
	tmp, err := os.MkdirTemp(os.TempDir(), "fiber-test")
	require.NoError(t, err)
	sock := filepath.Join(tmp, "fiber-test.sock")

	// Make sure temporary directory is cleaned up
	defer func() { assert.NoError(t, os.RemoveAll(tmp)) }()

	// Send request through socket
	go func() {
		time.Sleep(1000 * time.Millisecond)

		client := &fasthttp.HostClient{
			Addr: sock,
			Dial: func(addr string) (net.Conn, error) {
				return net.Dial("unix", addr)
			},
		}

		req := &fasthttp.Request{}
		req.SetRequestURI("http://host/test")

		reqErr = client.Do(req, resp)
		assert.NoError(t, app.Shutdown())
	}()

	require.NoError(t, app.Listen(sock, ListenConfig{
		DisableStartupMessage: true,
		ListenerNetwork:       NetworkUnix,
		UnixSocketFileMode:    0o666,
		ListenerAddrFunc: func(addr net.Addr) {
			network = addr.String()
			f, err = os.Stat(network)
		},
	}))

	// Verify that listening and setting permissions works correctly
	require.Equal(t, sock, network)
	require.NoError(t, err)
	require.Equal(t, os.FileMode(0o666), f.Mode().Perm())

	// Verify that request was successful
	require.NoError(t, reqErr)
	require.Equal(t, 200, resp.StatusCode())
	require.Equal(t, "all good", string(resp.Body()))
}

Domain

Subdomains

Defined In

Frequently Asked Questions

What does Test_Listen_ListenerNetwork_Unix() do?
Test_Listen_ListenerNetwork_Unix() is a function in the fiber codebase, defined in listen_test.go.
Where is Test_Listen_ListenerNetwork_Unix() defined?
Test_Listen_ListenerNetwork_Unix() is defined in listen_test.go at line 569.

Analyze Your Own Codebase

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

Try Supermodel Free