Home / Function/ parserRequestBodyFile() — fiber Function Reference

parserRequestBodyFile() — fiber Function Reference

Architecture documentation for the parserRequestBodyFile() function in hooks.go from the fiber codebase.

Function go FiberClient Hooks calls 1 called by 1

Entity Profile

Dependency Diagram

graph TD
  0999003b_a645_6e03_696d_1d6d08db2732["parserRequestBodyFile()"]
  14cfc1be_1c8f_085d_1a4e_f0de9527aaba["hooks.go"]
  0999003b_a645_6e03_696d_1d6d08db2732 -->|defined in| 14cfc1be_1c8f_085d_1a4e_f0de9527aaba
  2df255e5_3c2b_865c_0cdb_f1dce228c31e["parserRequestBody()"]
  2df255e5_3c2b_865c_0cdb_f1dce228c31e -->|calls| 0999003b_a645_6e03_696d_1d6d08db2732
  1588a4e1_ae61_f188_54e6_3584ea4c01e1["addFormFile()"]
  0999003b_a645_6e03_696d_1d6d08db2732 -->|calls| 1588a4e1_ae61_f188_54e6_3584ea4c01e1
  style 0999003b_a645_6e03_696d_1d6d08db2732 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

client/hooks.go lines 236–291

func parserRequestBodyFile(req *Request) error {
	mw := multipart.NewWriter(req.RawRequest.BodyWriter())
	err := mw.SetBoundary(req.boundary)
	if err != nil {
		return fmt.Errorf("set boundary error: %w", err)
	}
	defer func() {
		e := mw.Close()
		if e != nil {
			// Close errors are typically ignored.
			return
		}
	}()

	// Add form data.
	for key, value := range req.formData.All() {
		err = mw.WriteField(utils.UnsafeString(key), utils.UnsafeString(value))
		if err != nil {
			break
		}
	}
	if err != nil {
		return fmt.Errorf("write formdata error: %w", err)
	}

	// Add files.
	fileBuf, ok := fileBufPool.Get().(*[]byte)
	if !ok {
		return errSyncPoolBuffer
	}

	defer fileBufPool.Put(fileBuf)

	for i, f := range req.files {
		if f.name == "" && f.path == "" {
			return ErrFileNoName
		}

		// Set the file name if not provided.
		if f.name == "" && f.path != "" {
			f.path = filepath.Clean(f.path)
			f.name = filepath.Base(f.path)
		}

		// Set the field name if not provided.
		if f.fieldName == "" {
			f.fieldName = "file" + strconv.Itoa(i+1)
		}

		if err := addFormFile(mw, f, fileBuf); err != nil {
			return err
		}
	}

	return nil
}

Domain

Subdomains

Defined In

Frequently Asked Questions

What does parserRequestBodyFile() do?
parserRequestBodyFile() is a function in the fiber codebase, defined in client/hooks.go.
Where is parserRequestBodyFile() defined?
parserRequestBodyFile() is defined in client/hooks.go at line 236.
What does parserRequestBodyFile() call?
parserRequestBodyFile() calls 1 function(s): addFormFile.
What calls parserRequestBodyFile()?
parserRequestBodyFile() is called by 1 function(s): parserRequestBody.

Analyze Your Own Codebase

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

Try Supermodel Free