Home / Function/ Test_Ctx_SendFile() — fiber Function Reference

Test_Ctx_SendFile() — fiber Function Reference

Architecture documentation for the Test_Ctx_SendFile() function in ctx_test.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  67851447_9a4b_4dd2_72f6_54b75d81ae39["Test_Ctx_SendFile()"]
  7b3d4933_5ae3_f84d_ff6d_0cb34e268026["ctx_test.go"]
  67851447_9a4b_4dd2_72f6_54b75d81ae39 -->|defined in| 7b3d4933_5ae3_f84d_ff6d_0cb34e268026
  style 67851447_9a4b_4dd2_72f6_54b75d81ae39 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

ctx_test.go lines 5183–5226

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

	// fetch file content
	f, err := os.Open("./ctx.go")
	require.NoError(t, err)
	defer func() {
		require.NoError(t, f.Close())
	}()
	expectFileContent, err := io.ReadAll(f)
	require.NoError(t, err)
	// fetch file info for the not modified test case
	fI, err := os.Stat("./ctx.go")
	require.NoError(t, err)

	// simple test case
	c := app.AcquireCtx(&fasthttp.RequestCtx{})
	err = c.SendFile("ctx.go")
	// check expectation
	require.NoError(t, err)
	require.Equal(t, expectFileContent, c.Response().Body())
	require.Equal(t, StatusOK, c.Response().StatusCode())
	app.ReleaseCtx(c)

	// test with custom error code
	c = app.AcquireCtx(&fasthttp.RequestCtx{})
	err = c.Res().Status(StatusInternalServerError).SendFile("ctx.go")
	// check expectation
	require.NoError(t, err)
	require.Equal(t, expectFileContent, c.Response().Body())
	require.Equal(t, StatusInternalServerError, c.Response().StatusCode())
	app.ReleaseCtx(c)

	// test not modified
	c = app.AcquireCtx(&fasthttp.RequestCtx{})
	c.Request().Header.Set(HeaderIfModifiedSince, fI.ModTime().Format(time.RFC1123))
	err = c.SendFile("ctx.go")
	// check expectation
	require.NoError(t, err)
	require.Equal(t, StatusNotModified, c.Response().StatusCode())
	require.Equal(t, []byte(nil), c.Response().Body())
	app.ReleaseCtx(c)
}

Domain

Subdomains

Defined In

Frequently Asked Questions

What does Test_Ctx_SendFile() do?
Test_Ctx_SendFile() is a function in the fiber codebase, defined in ctx_test.go.
Where is Test_Ctx_SendFile() defined?
Test_Ctx_SendFile() is defined in ctx_test.go at line 5183.

Analyze Your Own Codebase

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

Try Supermodel Free