code: func FetchCertificates(c context.Context, url string) (*PublicCertificates, error) {
  	certs, err := certsCache.LRU(c).GetOrCreate(c, "url:"+url, func() (interface{}, time.Duration, error) {
  		certs := &PublicCertificates{}
  		req := internal.Request{
  			Method: "GET",
  			URL:    url,
  			Out:    certs,
  		}
  		if err := req.Do(c); err != nil {
  			return nil, 0, err
  		}
  		return certs, CertsCacheExpiration, nil
  	})
  	if err != nil {
  		return nil, err
  	}
  	return certs.(*PublicCertificates), nil
  }
docs: // FetchCertificates fetches certificates from the given URL.
  //
  // The server is expected to reply with JSON described by PublicCertificates
  // struct (like LUCI services do). Uses the process cache to cache them for
  // CertsCacheExpiration minutes.
  //
  // LUCI services serve certificates at /auth/api/v1/server/certificates.