github.com/qiniu/go-sdk/v7@v7.27.0/storagev2/internal/utils/http.go (about)

     1  package utils
     2  
     3  import (
     4  	"io"
     5  	"net/http"
     6  	"strconv"
     7  
     8  	innerio "github.com/qiniu/go-sdk/v7/internal/io"
     9  )
    10  
    11  func HttpHeadAddContentLength(header http.Header, data innerio.ReadSeekCloser) error {
    12  	_, err := data.Seek(0, io.SeekStart)
    13  	if err != nil {
    14  		return err
    15  	}
    16  
    17  	contentLength, err := data.Seek(0, io.SeekEnd)
    18  	if err != nil {
    19  		return err
    20  	}
    21  
    22  	header.Set("Content-Length", strconv.FormatInt(contentLength, 10))
    23  
    24  	_, err = data.Seek(0, io.SeekStart)
    25  	return err
    26  }