summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChirag Maheshwari <34106488+chir4gm@users.noreply.github.com>2022-08-07 09:33:37 +0530
committerGitHub <noreply@github.com>2022-08-06 22:03:37 -0600
commitd26559316fa6fae880351637365f07947a2b79f6 (patch)
tree1da2ac269d13f48b30d0232f4e28069c02fc9e87
parent2642bd72b7ca35b8622824fdffced2aefe1aaf11 (diff)
Replace strings.Index with strings.Cut (#4932)
-rw-r--r--cmd/main.go7
-rw-r--r--modules/caddyhttp/reverseproxy/reverseproxy.go4
-rw-r--r--modules/caddyhttp/rewrite/rewrite.go4
3 files changed, 6 insertions, 9 deletions
diff --git a/cmd/main.go b/cmd/main.go
index c475eaa..09246f4 100644
--- a/cmd/main.go
+++ b/cmd/main.go
@@ -408,11 +408,8 @@ func parseEnvFile(envInput io.Reader) (map[string]string, error) {
}
// remove any trailing comment after value
- if commentStart := strings.Index(val, "#"); commentStart > 0 {
- before := val[commentStart-1]
- if before == '\t' || before == ' ' {
- val = strings.TrimRight(val[:commentStart], " \t")
- }
+ if commentStart, _, found := strings.Cut(val, "#"); found {
+ val = strings.TrimRight(commentStart, " \t")
}
// quoted value: support newlines
diff --git a/modules/caddyhttp/reverseproxy/reverseproxy.go b/modules/caddyhttp/reverseproxy/reverseproxy.go
index c800b39..8887511 100644
--- a/modules/caddyhttp/reverseproxy/reverseproxy.go
+++ b/modules/caddyhttp/reverseproxy/reverseproxy.go
@@ -658,8 +658,8 @@ func (h Handler) addForwardedHeaders(req *http.Request) error {
// Client IP may contain a zone if IPv6, so we need
// to pull that out before parsing the IP
- if idx := strings.IndexByte(clientIP, '%'); idx >= 0 {
- clientIP = clientIP[:idx]
+ if before, _, found := strings.Cut(clientIP, "%"); found {
+ clientIP = before
}
ip := net.ParseIP(clientIP)
if ip == nil {
diff --git a/modules/caddyhttp/rewrite/rewrite.go b/modules/caddyhttp/rewrite/rewrite.go
index ac8c4fc..7da2327 100644
--- a/modules/caddyhttp/rewrite/rewrite.go
+++ b/modules/caddyhttp/rewrite/rewrite.go
@@ -194,10 +194,10 @@ func (rewr Rewrite) Rewrite(r *http.Request, repl *caddy.Replacer) bool {
// before continuing, we need to check if a query string
// snuck into the path component during replacements
- if quPos := strings.Index(newPath, "?"); quPos > -1 {
+ if before, after, found := strings.Cut(newPath, "?"); found {
// recompute; new path contains a query string
var injectedQuery string
- newPath, injectedQuery = newPath[:quPos], newPath[quPos+1:]
+ newPath, injectedQuery = before, after
// don't overwrite explicitly-configured query string
if query == "" {
query = injectedQuery