[Fix] parseWildcardRules removes the last non-asterisk character wrongly #57
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem Description
For a pattern with asterisk as suffix, the
parseWildcardRules
forms the result array wrongly.i.e. for an allowed origin of
http://localhost*
, theparseWildcardRules
returns the result as[]string {"http://localhos", "*"}
instead of[]string {"http://localhost", "*"}
Root Cause
The cause of this error is the code snippet
cors/cors.go
Line 138 in 5f50d4f
The
i
is the index where asterisk character found and I think it should take a substring with end ofi
then the last non-asterisk character is kept.Solution
The solution is as this PR, using
i
to take the substring.Please kindly review the change and accept it if this makes sense.
Thanks