func Compress(payload string, alg string, enc string, zip string, key interface{}) (token string, err error) {

	if zipAlg, ok := jwcCompressors[zip]; ok {
		compressed := zipAlg.Compress([]byte(payload))

		jwtHeader := map[string]interface{}{
			"enc": enc,
			"alg": alg,
			"zip": zip,
		}

		return encrypt(compressed, jwtHeader, key)
	}

	return "", errors.New(fmt.Sprintf("jwt.Compress(): Unknown compression method '%v'", zip))
}
func Compress(payload string, alg string, enc string, zip string, key interface{}) (token string, err error) {

	if zipAlg, ok := jwcCompressors[zip]; ok {
		compressed := zipAlg.Compress([]byte(payload))

		jwtHeader := map[string]interface{}{
			"enc": enc,
			"alg": alg,
			"zip": zip,
		}

		return encrypt(compressed, jwtHeader, key)
	}

	return "", errors.New(fmt.Sprintf("jwt.Compress(): Unknown compression method '%v'", zip))
}
func Compress ( payload string , alg string , enc string , zip string , key interface { } ) ( token string , err error ) { if zipAlg , ok := jwcCompressors [ zip ] ; ok { compressed := zipAlg . Compress ( [ ] byte ( payload ) ) jwtHeader := map [ string ] interface { } { " " : enc , " " : alg , " " : zip , } return encrypt ( compressed , jwtHeader , key ) } return " " , errors . New ( fmt . Sprintf ( " " , zip ) ) }
// This method is DEPRICATED and subject to be removed in next version.
// Use Encrypt(..) with Zip option instead.
//
// Compress produces encrypted & comressed JWT token given arbitrary payload, key management , encryption and compression algorithms to use (see constants for list of supported algs) and management key.
// Management key is of different type for different key management alg, see specific
// key management alg implementation documentation.
//
// It returns 5 parts encrypted & compressed JWT token as string and not nil error if something went wrong.
This method is DEPRICATED and subject to be removed in next version . Use Encrypt ( .. ) with Zip option instead . Compress produces encrypted & comressed JWT token given arbitrary payload key management encryption and compression algorithms to use ( see constants for list of supported algs ) and management key . Management key is of different type for different key management alg see specific key management alg implementation documentation . It returns 5 parts encrypted & compressed JWT token as string and not nil error if something went wrong .