fix: filter Laravel route false positives#65
Open
mariomeyer wants to merge 1 commit intoDeusData:mainfrom
Open
fix: filter Laravel route false positives#65mariomeyer wants to merge 1 commit intoDeusData:mainfrom
mariomeyer wants to merge 1 commit intoDeusData:mainfrom
Conversation
Scope source-based route extractors to their target file extensions
(Go→.go, Express→.js/.ts, Laravel→.php, Ktor→.kt/.kts) to prevent
cross-framework regex matches. The Ktor regex `\b(get|...)\("..."\)`
was matching PHP `Cache::get("cache_key")` calls as routes because
`\b` treats `::` as a word boundary.
Also add a secondary guard in extractLaravelRoutes to skip paths
containing `$` or `:` characters (cache keys, interpolated strings).
c8878ea to
0c07562
Compare
|
Looks like #66 handles this a bit more gracefully. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
$or:inextractLaravelRoutes()— these are non-route strings (cache keys, interpolated expressions) that happen to match the route regex, not actual URL path definitions{param}syntax, so valid routes are unaffectedTest plan
go test ./internal/httplink/ -varticle:{$this->id}:imageare filteredGET /api/users/{id}still pass through