Home / Function/ Test_FormBinder_BindMultipart_MapsClearedBetweenRequests() — fiber Function Reference

Test_FormBinder_BindMultipart_MapsClearedBetweenRequests() — fiber Function Reference

Architecture documentation for the Test_FormBinder_BindMultipart_MapsClearedBetweenRequests() function in form_test.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  3c48d68c_a7e6_f701_bcad_3a603dc77672["Test_FormBinder_BindMultipart_MapsClearedBetweenRequests()"]
  9e2874af_daa9_2d85_5c35_752d6b7678f6["form_test.go"]
  3c48d68c_a7e6_f701_bcad_3a603dc77672 -->|defined in| 9e2874af_daa9_2d85_5c35_752d6b7678f6
  style 3c48d68c_a7e6_f701_bcad_3a603dc77672 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

binder/form_test.go lines 272–322

func Test_FormBinder_BindMultipart_MapsClearedBetweenRequests(t *testing.T) {
	t.Parallel()

	b := &FormBinding{}

	type payload struct { // betteralign:ignore - test payload prioritizes readability over alignment
		Avatar *multipart.FileHeader `form:"avatar"`
		Name   string                `form:"name"`
		Age    int                   `form:"age"`
	}

	firstReq := fasthttp.AcquireRequest()
	firstBuffer := &bytes.Buffer{}
	firstWriter := multipart.NewWriter(firstBuffer)

	require.NoError(t, firstWriter.WriteField("name", "john"))
	require.NoError(t, firstWriter.WriteField("age", "21"))

	firstFile, err := firstWriter.CreateFormFile("avatar", "avatar.txt")
	require.NoError(t, err)
	_, err = firstFile.Write([]byte("avatar-content"))
	require.NoError(t, err)
	require.NoError(t, firstWriter.Close())

	firstReq.Header.SetContentType(firstWriter.FormDataContentType())
	firstReq.SetBody(firstBuffer.Bytes())
	t.Cleanup(func() { fasthttp.ReleaseRequest(firstReq) })

	var first payload
	require.NoError(t, b.Bind(firstReq, &first))
	require.Equal(t, "john", first.Name)
	require.Equal(t, 21, first.Age)
	require.NotNil(t, first.Avatar)
	require.Equal(t, "avatar.txt", first.Avatar.Filename)

	secondReq := fasthttp.AcquireRequest()
	secondBuffer := &bytes.Buffer{}
	secondWriter := multipart.NewWriter(secondBuffer)
	require.NoError(t, secondWriter.WriteField("age", "42"))
	require.NoError(t, secondWriter.Close())

	secondReq.Header.SetContentType(secondWriter.FormDataContentType())
	secondReq.SetBody(secondBuffer.Bytes())
	t.Cleanup(func() { fasthttp.ReleaseRequest(secondReq) })

	var second payload
	require.NoError(t, b.Bind(secondReq, &second))
	require.Empty(t, second.Name)
	require.Equal(t, 42, second.Age)
	require.Nil(t, second.Avatar)
}

Domain

Subdomains

Defined In

Frequently Asked Questions

What does Test_FormBinder_BindMultipart_MapsClearedBetweenRequests() do?
Test_FormBinder_BindMultipart_MapsClearedBetweenRequests() is a function in the fiber codebase, defined in binder/form_test.go.
Where is Test_FormBinder_BindMultipart_MapsClearedBetweenRequests() defined?
Test_FormBinder_BindMultipart_MapsClearedBetweenRequests() is defined in binder/form_test.go at line 272.

Analyze Your Own Codebase

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

Try Supermodel Free