Search Options

Display Count
Sort
Preferred Language
Advanced Search

Results 1 - 10 of 339 for etag (0.07 seconds)

  1. internal/etag/etag.go

    func Multipart(etags ...ETag) ETag {
    	if len(etags) == 0 {
    		return nil
    	}
    
    	var n int64
    	h := md5.New()
    	for _, etag := range etags {
    		if !etag.IsMultipart() && !etag.IsEncrypted() {
    			h.Write(etag)
    			n++
    		}
    	}
    	etag := append(h.Sum(nil), '-')
    	return strconv.AppendInt(etag, n, 10)
    }
    
    // Set adds the ETag to the HTTP headers. It overwrites any
    // existing ETag entry.
    //
    Created: Sun Apr 05 19:28:12 GMT 2026
    - Last Modified: Fri May 16 14:27:42 GMT 2025
    - 13.2K bytes
    - Click Count (0)
  2. cmd/object-api-utils_test.go

    		{[]CompletePart{{ETag: "wrong-md5-hash-string"}}, "0deb8cb07527b4b2669c861cb9653607-1", ""},
    
    		// Single CompletePart with valid MD5 hash string.
    		{[]CompletePart{{ETag: "cf1f738a5924e645913c984e0fe3d708"}}, "10dc1617fbcf0bd0858048cb96e6bd77-1", ""},
    
    		// Multiple CompletePart with valid MD5 hash string.
    Created: Sun Apr 05 19:28:12 GMT 2026
    - Last Modified: Fri Aug 29 02:39:48 GMT 2025
    - 24.1K bytes
    - Click Count (0)
  3. cmd/object-handlers-common.go

    	// We must not use the http.Header().Set method here because some (broken)
    	// clients expect the ETag header key to be literally "ETag" - not "Etag" (case-sensitive).
    	// Therefore, we have to set the ETag directly as map entry.
    	if objInfo.ETag != "" && !del {
    		w.Header()[xhttp.ETag] = []string{`"` + objInfo.ETag + `"`}
    	}
    
    	// Set the relevant version ID as part of the response header.
    Created: Sun Apr 05 19:28:12 GMT 2026
    - Last Modified: Wed Jul 23 12:36:06 GMT 2025
    - 15.2K bytes
    - Click Count (0)
  4. cmd/erasure-healing-common.go

    	"context"
    	"slices"
    	"time"
    
    	"github.com/minio/madmin-go/v3"
    )
    
    func commonETags(etags []string) (etag string, maxima int) {
    	etagOccurrenceMap := make(map[string]int, len(etags))
    
    	// Ignore the uuid sentinel and count the rest.
    	for _, etag := range etags {
    		if etag == "" {
    			continue
    		}
    		etagOccurrenceMap[etag]++
    	}
    
    	maxima = 0 // Counter for remembering max occurrence of elements.
    	latest := ""
    
    Created: Sun Apr 05 19:28:12 GMT 2026
    - Last Modified: Sun Sep 28 20:59:21 GMT 2025
    - 12K bytes
    - Click Count (0)
  5. cmd/encryption-v1_test.go

    		ETag:       "",
    		ShouldFail: true, // ETag prefix is not a valid hex value
    	},
    	{
    		ObjectKey:  [32]byte{},
    		ObjectInfo: ObjectInfo{ETag: "16516b396f0f4d4f2a0e7177557bec4-1-2"},
    		ETag:       "",
    		ShouldFail: true, // ETag contains multiple: -
    	},
    }
    
    func TestDecryptETag(t *testing.T) {
    	for i, test := range decryptETagTests {
    Created: Sun Apr 05 19:28:12 GMT 2026
    - Last Modified: Sun Sep 28 20:59:21 GMT 2025
    - 19.9K bytes
    - Click Count (0)
  6. internal/crypto/key.go

    	return partKey
    }
    
    // SealETag seals the etag using the object key.
    // It does not encrypt empty ETags because such ETags indicate
    // that the S3 client hasn't sent an ETag = MD5(object) and
    // the backend can pick an ETag value.
    func (key ObjectKey) SealETag(etag []byte) []byte {
    	if len(etag) == 0 { // don't encrypt empty ETag - only if client sent ETag = MD5(object)
    		return etag
    	}
    	var buffer bytes.Buffer
    Created: Sun Apr 05 19:28:12 GMT 2026
    - Last Modified: Fri May 16 14:27:42 GMT 2025
    - 6.2K bytes
    - Click Count (0)
  7. cmd/erasure-multipart-conditional_test.go

    		// This should fail even without quorum issues, but with quorum failure
    		// we can't verify the ETag at all.
    		opts := ObjectOptions{
    			UserDefined: map[string]string{
    				xhttp.IfMatch: "wrong-etag-12345",
    			},
    			HasIfMatch: true,
    			CheckPrecondFn: func(oi ObjectInfo) bool {
    				// Precondition fails if ETags don't match
    				return oi.ETag != "wrong-etag-12345"
    			},
    		}
    
    Created: Sun Apr 05 19:28:12 GMT 2026
    - Last Modified: Fri Oct 24 04:05:31 GMT 2025
    - 6.9K bytes
    - Click Count (0)
  8. cmd/erasure-object-conditional_test.go

    		// Test Case 3: if-match with wrong ETag
    		// Even if the ETag doesn't match, we should still get read quorum error
    		// because we can't read the object to check the condition.
    		opts := ObjectOptions{
    			UserDefined: map[string]string{
    				xhttp.IfMatch: "wrong-etag",
    			},
    			CheckPrecondFn: func(oi ObjectInfo) bool {
    				// Precondition fails if ETag doesn't match
    Created: Sun Apr 05 19:28:12 GMT 2026
    - Last Modified: Fri Oct 24 04:05:31 GMT 2025
    - 4.9K bytes
    - Click Count (0)
  9. cmd/api-response.go

    // generates CopyObjectResponse from etag and lastModified time.
    func generateCopyObjectResponse(etag string, lastModified time.Time) CopyObjectResponse {
    	return CopyObjectResponse{
    		ETag:         "\"" + etag + "\"",
    		LastModified: amztime.ISO8601Format(lastModified.UTC()),
    	}
    }
    
    // generates CopyObjectPartResponse from etag and lastModified time.
    Created: Sun Apr 05 19:28:12 GMT 2026
    - Last Modified: Fri Oct 24 04:05:19 GMT 2025
    - 35K bytes
    - Click Count (0)
  10. cmd/encryption-v1.go

    		}
    		if _, err := strconv.ParseInt(object.ETag[i+1:], 10, 32); err != nil {
    			return "", errObjectTampered
    		}
    		return object.ETag, nil
    	}
    
    	etag, err := hex.DecodeString(object.ETag)
    	if err != nil {
    		return "", err
    	}
    	etag, err = key.UnsealETag(etag)
    	if err != nil {
    		return "", err
    	}
    	return hex.EncodeToString(etag), nil
    }
    
    Created: Sun Apr 05 19:28:12 GMT 2026
    - Last Modified: Sun Sep 28 20:59:21 GMT 2025
    - 38K bytes
    - Click Count (0)
Back to Top