github.com/prebid/prebid-server@v0.275.0/usersync/encoder.go (about)

     1  package usersync
     2  
     3  import (
     4  	"encoding/base64"
     5  	"encoding/json"
     6  )
     7  
     8  type Encoder interface {
     9  	// Encode a cookie into a base 64 string
    10  	Encode(c *Cookie) (string, error)
    11  }
    12  
    13  type Base64Encoder struct{}
    14  
    15  func (e Base64Encoder) Encode(c *Cookie) (string, error) {
    16  	j, err := json.Marshal(c)
    17  	if err != nil {
    18  		return "", err
    19  	}
    20  	b64 := base64.URLEncoding.EncodeToString(j)
    21  
    22  	return b64, nil
    23  }