azure_ml.go raw

   1  // Copyright (c) Microsoft Corporation.
   2  // Licensed under the MIT license.
   3  
   4  package managedidentity
   5  
   6  import (
   7  	"context"
   8  	"net/http"
   9  	"os"
  10  )
  11  
  12  func createAzureMLAuthRequest(ctx context.Context, id ID, resource string) (*http.Request, error) {
  13  	req, err := http.NewRequestWithContext(ctx, http.MethodGet, os.Getenv(msiEndpointEnvVar), nil)
  14  	if err != nil {
  15  		return nil, err
  16  	}
  17  
  18  	req.Header.Set("secret", os.Getenv(msiSecretEnvVar))
  19  	q := req.URL.Query()
  20  	q.Set(apiVersionQueryParameterName, azureMLAPIVersion)
  21  	q.Set(resourceQueryParameterName, resource)
  22  	q.Set("clientid", os.Getenv("DEFAULT_IDENTITY_CLIENT_ID"))
  23  	if cid, ok := id.(UserAssignedClientID); ok {
  24  		q.Set("clientid", string(cid))
  25  	}
  26  	req.URL.RawQuery = q.Encode()
  27  	return req, nil
  28  }
  29