Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add support for ASM exclusion filters #2667

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

api-clients-generation-pipeline[bot]
Copy link
Contributor

@api-clients-generation-pipeline api-clients-generation-pipeline bot added the changelog/Added Added features results into a minor version bump label Sep 5, 2024
@api-clients-generation-pipeline api-clients-generation-pipeline bot changed the title create v2 endpoints for asm exclusion filters add support for ASM exclusion filters Sep 5, 2024
@api-clients-generation-pipeline api-clients-generation-pipeline bot force-pushed the datadog-api-spec/generated/3084 branch 2 times, most recently from f9803de to e6d4c74 Compare September 6, 2024 12:45
@api-clients-generation-pipeline api-clients-generation-pipeline bot force-pushed the datadog-api-spec/generated/3084 branch 3 times, most recently from 6b912b4 to 6c8176f Compare September 10, 2024 09:43
@api-clients-generation-pipeline api-clients-generation-pipeline bot force-pushed the datadog-api-spec/generated/3084 branch 6 times, most recently from 4940539 to a0baadc Compare September 13, 2024 11:59
@api-clients-generation-pipeline api-clients-generation-pipeline bot force-pushed the datadog-api-spec/generated/3084 branch 3 times, most recently from c31d058 to 8142b5c Compare October 15, 2024 09:13
}

localVarPath := localBasePath + "/api/v2/remote_config/products/asm/waf/exclusion_filters/{exclusion_filter_id}"
localVarPath = strings.Replace(localVarPath, "{"+"exclusion_filter_id"+"}", _neturl.PathEscape(datadog.ParameterToString(exclusionFilterId, "")), -1)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟠 Code Quality Violation

Suggested change
localVarPath = strings.Replace(localVarPath, "{"+"exclusion_filter_id"+"}", _neturl.PathEscape(datadog.ParameterToString(exclusionFilterId, "")), -1)
localVarPath = strings.ReplaceAll(localVarPath, "{"+"exclusion_filter_id"+"}", _neturl.PathEscape(datadog.ParameterToString(exclusionFilterId, "")))
Do not call Replace with a negative limit, use ReplaceAll instead (...read more)

In Go, the strings.Replace() function is used to replace a certain substring within a string with another substring. The function takes in four parameters: the original string, the old substring to be replaced, the new substring that will replace the old one, and an integer limit dictating how many replacements to be made.

Calling strings.Replace() with a negative limit doesn't really make sense. According to the Go documentation, if limit is negative, there is no limit on the number of replacements. Which means it will replace all instances of old substring in the original string with a new substring.

For example:

fmt.Println(strings.Replace("oink oink oink", "k", "ky", -2))

In this example, Replace returns a copy of the string "oink oink oink" where "k" is replaced by "ky" everywhere it appears, because limit is -2.

So it's not necessarily "incorrect" to use a negative limit, but it can create misunderstandings in your code. It's best to use a limit of -1 when you want to replace all instances, as this convention is more commonly understood to mean "no limit".

But if you specifically want to avoid using negative limit for Replace or looking for replace method with better efficiency, using strings.NewReplacer() could be a better option when there are multiple string pairs need to be replaced, where you can specify a list of old-new string pairs.

Or you can use strings.ReplaceAll(). It is equivalent to Replace with a limit of -1. It's arguably clearer and more self-explanatory than using a negative limit with strings.Replace().

For example:

fmt.Println(strings.ReplaceAll("oink oink oink", "o", "ky"))

It replaces all instances of "o" in the string "oink oink oink" by "ky".

View in Datadog  Leave us feedback  Documentation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog/Added Added features results into a minor version bump
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants