func getEnvelope()

in pkg/provenance/envelopes.go [66:81]


func getEnvelope(env *dsse.DecodedEnvelope) (*Envelope, error) {
	pred := struct {
		Type          string `json:"_type"`
		PredicateType string `json:"predicateType"`
	}{}
	if err := json.Unmarshal(env.DecodedPayload, &pred); err != nil {
		return nil, errors.Wrap(err, "error decoding DSSE env")
	}

	penv := Envelope{
		DecodedEnvelope:     env,
		IntotoType:          pred.Type,
		IntotoPredicateType: pred.PredicateType,
	}
	return &penv, nil
}