Showing 718 of 1,370 total issues
Function getScriptFolder
has 5 return statements (exceeds 4 allowed). Open
func getScriptFolder() string {
fallbackPath, err := os.Getwd()
if err != nil {
fallbackPath = "."
}
Method Monocular.artifactHubCacheChartFiles
has 5 return statements (exceeds 4 allowed). Open
func (m *Monocular) artifactHubCacheChartFiles(endpointID, repoName, repoURL, name, version, digest string) (string, error) {
// First look to see if there is a digest file
cacheFolder := path.Join(m.CacheFolder, endpointID, fmt.Sprintf("%s_%s_%s", repoName, name, version))
if hasDigestFile(cacheFolder, digest) {
Method SemanticVersion.LessThan
has 5 return statements (exceeds 4 allowed). Open
func (s *SemanticVersion) LessThan(d *SemanticVersion) bool {
if d == nil {
return true
}
if s.Valid && d.Valid {
Method CertKubeAuth.DoFlowRequest
has a Cognitive Complexity of 10 (exceeds 8 allowed). Consider refactoring. Open
func (c *CertKubeAuth) DoFlowRequest(cnsiRequest *interfaces.CNSIRequest, req *http.Request) (*http.Response, error) {
log.Debug("doCertAuthFlowRequest")
authHandler := func(tokenRec interfaces.TokenRecord, cnsi interfaces.CNSIRecord) (*http.Response, error) {
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Method MetricsSpecification.createMetadata
has a Cognitive Complexity of 10 (exceeds 8 allowed). Consider refactoring. Open
func (m *MetricsSpecification) createMetadata(metricEndpoint *url.URL, httpClient http.Client, auth *MetricsAuth) (string, error) {
basicMetricRequest := fmt.Sprintf("%s/api/v1/query?query=firehose_total_metrics_received", metricEndpoint)
req, err := http.NewRequest("GET", basicMetricRequest, nil)
if err != nil {
msg := "Failed to create request for the Metrics Endpoint: %v"
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Method PushConnectionWrapper.Make
has a Cognitive Complexity of 10 (exceeds 8 allowed). Consider refactoring. Open
func (cw PushConnectionWrapper) Make(request *cloudcontroller.Request, passedResponse *cloudcontroller.Response) error {
// Check to see if the token is about to expire, if it is, refresh it first
token, found := cw.portalProxy.GetCNSITokenRecord(cw.config.EndpointID, cw.config.UserID)
if found {
// Aways update the access token, in case someone else refreshed it
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Method UserInvite.refreshToken
has 5 return statements (exceeds 4 allowed). Open
func (invite *UserInvite) refreshToken(clientID, clientSecret string, endpoint interfaces.CNSIRecord) (*interfaces.UAAResponse, *interfaces.TokenRecord, error) {
now := time.Now()
clientSecret = strings.TrimSpace(clientSecret)
authEndpoint := fmt.Sprintf("%s/oauth/token", endpoint.TokenEndpoint)
Method Analysis.doRunReport
has a Cognitive Complexity of 10 (exceeds 8 allowed). Consider refactoring. Open
func (c *Analysis) doRunReport(ec echo.Context, analyzer, endpointID, userID string, dbStore store.AnalysisStore, report *store.AnalysisRecord) error {
// Get Kube Config
k8s := c.portalProxy.GetPlugin("kubernetes")
if k8s == nil {
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Method LocalUserInfo.UpdateUserInfo
has 5 return statements (exceeds 4 allowed). Open
func (userInfo *LocalUserInfo) UpdateUserInfo(profile *uaaUser) (int, error) {
// Fetch the user, make updates and save
id := profile.ID
localUsersRepo, err := localusers.NewPgsqlLocalUsersRepository(userInfo.portalProxy.GetDatabaseConnection())
Method Monocular.fetchChartsFromArtifactHub
has 5 return statements (exceeds 4 allowed). Open
func (m *Monocular) fetchChartsFromArtifactHub(c echo.Context, endpointID string) error {
cacheFolder := path.Join(m.CacheFolder, endpointID)
indexFile := path.Join(cacheFolder, "hub_index.json")
if ok := useCachedFile(indexFile); ok {
// Just send the cached file
Method Monocular.getChartURL
has 5 return statements (exceeds 4 allowed). Open
func (m *Monocular) getChartURL(repoURL, name, version string) (string, error) {
httpClient := m.portalProxy.GetHttpClient(true)
helmIndexURL := joinURL(repoURL, "index.yaml")
resp, err := httpClient.Get(helmIndexURL)
Method UserInvite.processUserInvite
has 5 return statements (exceeds 4 allowed). Open
func (invite *UserInvite) processUserInvite(cfGUID, userGUID string, userInviteRequest *UserInviteReq, user UserInviteUser, endpoint interfaces.CNSIRecord) (UserInviteUser, bool) {
log.Debugf("Creating CF User for: %s", user.Email)
// Create the user in Cloud Foundry
if cfError, err := invite.CreateCloudFoundryUser(cfGUID, userGUID, user.UserID); err != nil {
return updateUserInviteRecordForError(user, "Failed to create user in Cloud Foundry", cfError), true
Method MetricsSpecification.getMetricsEndpoints
has 5 return statements (exceeds 4 allowed). Open
func (m *MetricsSpecification) getMetricsEndpoints(userGUID string, cnsiList []string) (map[string]EndpointMetricsRelation, error) {
metricsProviders := make([]MetricsMetadata, 0)
endpointsMap := make(map[string]*interfaces.ConnectedEndpoint)
results := make(map[string]EndpointMetricsRelation)
Method Analysis.deleteReports
has a Cognitive Complexity of 10 (exceeds 8 allowed). Consider refactoring. Open
func (c *Analysis) deleteReports(ec echo.Context) error {
log.Debug("deleteReports")
var p = c.portalProxy
// Need to get a config object for the target endpoint
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Method KubeTerminal.createPod
has a Cognitive Complexity of 10 (exceeds 8 allowed). Consider refactoring. Open
func (k *KubeTerminal) createPod(c echo.Context, kubeConfig, kubeVersion string, ws *websocket.Conn) (*PodCreationData, error) {
// Unique ID for the secret and pod name
id := uuid.NewV4().String()
id = strings.ReplaceAll(id, "-", "")
// Names for the secret and pod
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Method CloudFoundrySpecification.Info
has 5 return statements (exceeds 4 allowed). Open
func (c *CloudFoundrySpecification) Info(apiEndpoint string, skipSSLValidation bool) (interfaces.CNSIRecord, interface{}, error) {
log.Debug("Info")
var v2InfoResponse interfaces.V2Info
var newCNSI interfaces.CNSIRecord
Method portalProxy.RefreshOAuthToken
has 5 return statements (exceeds 4 allowed). Open
func (p *portalProxy) RefreshOAuthToken(skipSSLValidation bool, cnsiGUID, userGUID, client, clientSecret, tokenEndpoint string) (t interfaces.TokenRecord, err error) {
log.Debug("refreshToken")
userToken, ok := p.GetCNSITokenRecordWithDisconnected(cnsiGUID, userGUID)
if !ok {
return t, fmt.Errorf("Info could not be found for user with GUID %s", userGUID)
Function readCFFile
has 5 return statements (exceeds 4 allowed). Open
func readCFFile() (*CFConfigFile, *url.URL, error) {
var url *url.URL
usr, err := user.Current()
if err != nil {
Method uaaAuth.VerifySession
has a Cognitive Complexity of 10 (exceeds 8 allowed). Consider refactoring. Open
func (a *uaaAuth) VerifySession(c echo.Context, sessionUser string, sessionExpireTime int64) error {
tr, err := a.p.GetUAATokenRecord(sessionUser)
if err != nil {
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Method PostgresCNSIRepository.UpdateMetadata
has 5 return statements (exceeds 4 allowed). Open
func (p *PostgresCNSIRepository) UpdateMetadata(guid string, metadata string) error {
log.Debug("UpdateMetadata")
if guid == "" {
msg := "Unable to update Endpoint without a valid guid."