You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: oidc_endpoint_provider.go
    path of file: ./repos/plumber/vendor/github.com/apache/pulsar-client-go/oauth2
    
    the code of the file until where you have to start completion: // Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agre
    
func GetOIDCWellKnownEndpointsFromIssuerURL(issuerURL string) (*OIDCWellKnownEndpoints, error) {
	u, err := url.Parse(issuerURL)
	if err != nil {
		return nil, errors.Wrap(err, "could not parse issuer url to build well known endpoints")
	}
	u.Path = path.Join(u.Path, ".well-known/openid-configuration")

	r, err := http.Get(u.String())
	if err != nil {
		return nil, errors.Wrapf(err, "could not get well known endpoints from url %s", u.String())
	}
	defer r.Body.Close()

	var wkEndpoints OIDCWellKnownEndpoints
	err = json.NewDecoder(r.Body).Decode(&wkEndpoints)
	if err != nil {
		return nil, errors.Wrap(err, "could not decode json body when getting well known endpoints")
	}

	return &wkEndpoints, nil
}