// CharmArchiveSha256 returns the SHA256 digest of the charm archive // (bundle) data for each charm url in the given parameters. func (u *UniterAPI) CharmArchiveSha256(args params.CharmURLs) (params.StringResults, error) { result := params.StringResults{ Results: make([]params.StringResult, len(args.URLs)), } for i, arg := range args.URLs { curl, err := charm.ParseURL(arg.URL) if err != nil { err = common.ErrPerm } else { var sch *state.Charm sch, err = u.st.Charm(curl) if errors.IsNotFound(err) { err = common.ErrPerm } if err == nil { result.Results[i].Result = sch.BundleSha256() } } result.Results[i].Error = common.ServerError(err) } return result, nil }