mirror of
https://github.com/caddyserver/caddy.git
synced 2026-05-27 01:02:29 -04:00
chore: Use slices package where possible (#6585)
Tests / test (./cmd/caddy/caddy, ~1.22.3, macos-14, 0, 1.22, mac) (push) Waiting to run
Tests / test (./cmd/caddy/caddy, ~1.23.0, macos-14, 0, 1.23, mac) (push) Waiting to run
Tests / test (./cmd/caddy/caddy.exe, ~1.22.3, windows-latest, True, 1.22, windows) (push) Waiting to run
Tests / test (./cmd/caddy/caddy.exe, ~1.23.0, windows-latest, True, 1.23, windows) (push) Waiting to run
Lint / lint (macos-14, mac) (push) Waiting to run
Lint / lint (windows-latest, windows) (push) Waiting to run
Tests / test (./cmd/caddy/caddy, ~1.22.3, ubuntu-latest, 0, 1.22, linux) (push) Failing after 1m34s
Tests / test (./cmd/caddy/caddy, ~1.23.0, ubuntu-latest, 0, 1.23, linux) (push) Failing after 1m25s
Tests / test (s390x on IBM Z) (push) Has been skipped
Tests / goreleaser-check (push) Successful in 24s
Cross-Build / build (~1.22.3, 1.22, aix) (push) Successful in 1m31s
Cross-Build / build (~1.22.3, 1.22, darwin) (push) Successful in 1m32s
Cross-Build / build (~1.22.3, 1.22, dragonfly) (push) Successful in 1m41s
Cross-Build / build (~1.22.3, 1.22, freebsd) (push) Successful in 1m34s
Cross-Build / build (~1.22.3, 1.22, illumos) (push) Successful in 1m31s
Cross-Build / build (~1.22.3, 1.22, linux) (push) Successful in 1m31s
Cross-Build / build (~1.22.3, 1.22, netbsd) (push) Successful in 1m30s
Cross-Build / build (~1.22.3, 1.22, openbsd) (push) Successful in 1m31s
Cross-Build / build (~1.22.3, 1.22, solaris) (push) Successful in 1m32s
Cross-Build / build (~1.22.3, 1.22, windows) (push) Successful in 1m31s
Cross-Build / build (~1.23.0, 1.23, aix) (push) Successful in 1m24s
Cross-Build / build (~1.23.0, 1.23, darwin) (push) Successful in 1m22s
Cross-Build / build (~1.23.0, 1.23, dragonfly) (push) Successful in 1m20s
Cross-Build / build (~1.23.0, 1.23, freebsd) (push) Successful in 1m21s
Cross-Build / build (~1.23.0, 1.23, illumos) (push) Successful in 1m22s
Cross-Build / build (~1.23.0, 1.23, linux) (push) Successful in 1m23s
Cross-Build / build (~1.23.0, 1.23, netbsd) (push) Successful in 1m20s
Cross-Build / build (~1.23.0, 1.23, openbsd) (push) Successful in 1m22s
Cross-Build / build (~1.23.0, 1.23, solaris) (push) Successful in 1m24s
Cross-Build / build (~1.23.0, 1.23, windows) (push) Successful in 1m21s
Lint / lint (ubuntu-latest, linux) (push) Successful in 2m12s
Lint / govulncheck (push) Successful in 1m20s
Tests / test (./cmd/caddy/caddy, ~1.22.3, macos-14, 0, 1.22, mac) (push) Waiting to run
Tests / test (./cmd/caddy/caddy, ~1.23.0, macos-14, 0, 1.23, mac) (push) Waiting to run
Tests / test (./cmd/caddy/caddy.exe, ~1.22.3, windows-latest, True, 1.22, windows) (push) Waiting to run
Tests / test (./cmd/caddy/caddy.exe, ~1.23.0, windows-latest, True, 1.23, windows) (push) Waiting to run
Lint / lint (macos-14, mac) (push) Waiting to run
Lint / lint (windows-latest, windows) (push) Waiting to run
Tests / test (./cmd/caddy/caddy, ~1.22.3, ubuntu-latest, 0, 1.22, linux) (push) Failing after 1m34s
Tests / test (./cmd/caddy/caddy, ~1.23.0, ubuntu-latest, 0, 1.23, linux) (push) Failing after 1m25s
Tests / test (s390x on IBM Z) (push) Has been skipped
Tests / goreleaser-check (push) Successful in 24s
Cross-Build / build (~1.22.3, 1.22, aix) (push) Successful in 1m31s
Cross-Build / build (~1.22.3, 1.22, darwin) (push) Successful in 1m32s
Cross-Build / build (~1.22.3, 1.22, dragonfly) (push) Successful in 1m41s
Cross-Build / build (~1.22.3, 1.22, freebsd) (push) Successful in 1m34s
Cross-Build / build (~1.22.3, 1.22, illumos) (push) Successful in 1m31s
Cross-Build / build (~1.22.3, 1.22, linux) (push) Successful in 1m31s
Cross-Build / build (~1.22.3, 1.22, netbsd) (push) Successful in 1m30s
Cross-Build / build (~1.22.3, 1.22, openbsd) (push) Successful in 1m31s
Cross-Build / build (~1.22.3, 1.22, solaris) (push) Successful in 1m32s
Cross-Build / build (~1.22.3, 1.22, windows) (push) Successful in 1m31s
Cross-Build / build (~1.23.0, 1.23, aix) (push) Successful in 1m24s
Cross-Build / build (~1.23.0, 1.23, darwin) (push) Successful in 1m22s
Cross-Build / build (~1.23.0, 1.23, dragonfly) (push) Successful in 1m20s
Cross-Build / build (~1.23.0, 1.23, freebsd) (push) Successful in 1m21s
Cross-Build / build (~1.23.0, 1.23, illumos) (push) Successful in 1m22s
Cross-Build / build (~1.23.0, 1.23, linux) (push) Successful in 1m23s
Cross-Build / build (~1.23.0, 1.23, netbsd) (push) Successful in 1m20s
Cross-Build / build (~1.23.0, 1.23, openbsd) (push) Successful in 1m22s
Cross-Build / build (~1.23.0, 1.23, solaris) (push) Successful in 1m24s
Cross-Build / build (~1.23.0, 1.23, windows) (push) Successful in 1m21s
Lint / lint (ubuntu-latest, linux) (push) Successful in 2m12s
Lint / govulncheck (push) Successful in 1m20s
* chore: Use slices package where possible * More, mostly using ContainsFunc * Even more slice operations
This commit is contained in:
@@ -23,6 +23,7 @@ import (
|
||||
"net/url"
|
||||
"regexp"
|
||||
"runtime/debug"
|
||||
"slices"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
@@ -397,12 +398,8 @@ func (h *Handler) doActiveHealthCheck(dialInfo DialInfo, hostAddr string, networ
|
||||
u.Scheme = "https"
|
||||
|
||||
// if the port is in the except list, flip back to HTTP
|
||||
if ht, ok := h.Transport.(*HTTPTransport); ok {
|
||||
for _, exceptPort := range ht.TLS.ExceptPorts {
|
||||
if exceptPort == port {
|
||||
u.Scheme = "http"
|
||||
}
|
||||
}
|
||||
if ht, ok := h.Transport.(*HTTPTransport); ok && slices.Contains(ht.TLS.ExceptPorts, port) {
|
||||
u.Scheme = "http"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ import (
|
||||
"net/url"
|
||||
"os"
|
||||
"reflect"
|
||||
"slices"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
@@ -381,7 +382,7 @@ func (h *HTTPTransport) NewTransport(caddyCtx caddy.Context) (*http.Transport, e
|
||||
rt.DisableCompression = !*h.Compression
|
||||
}
|
||||
|
||||
if sliceContains(h.Versions, "2") {
|
||||
if slices.Contains(h.Versions, "2") {
|
||||
if err := http2.ConfigureTransport(rt); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -400,13 +401,13 @@ func (h *HTTPTransport) NewTransport(caddyCtx caddy.Context) (*http.Transport, e
|
||||
return nil, fmt.Errorf("making TLS client config for HTTP/3 transport: %v", err)
|
||||
}
|
||||
}
|
||||
} else if len(h.Versions) > 1 && sliceContains(h.Versions, "3") {
|
||||
} else if len(h.Versions) > 1 && slices.Contains(h.Versions, "3") {
|
||||
return nil, fmt.Errorf("if HTTP/3 is enabled to the upstream, no other HTTP versions are supported")
|
||||
}
|
||||
|
||||
// if h2c is enabled, configure its transport (std lib http.Transport
|
||||
// does not "HTTP/2 over cleartext TCP")
|
||||
if sliceContains(h.Versions, "h2c") {
|
||||
if slices.Contains(h.Versions, "h2c") {
|
||||
// crafting our own http2.Transport doesn't allow us to utilize
|
||||
// most of the customizations/preferences on the http.Transport,
|
||||
// because, for some reason, only http2.ConfigureTransport()
|
||||
@@ -783,16 +784,6 @@ func decodeBase64DERCert(certStr string) (*x509.Certificate, error) {
|
||||
return x509.ParseCertificate(derBytes)
|
||||
}
|
||||
|
||||
// sliceContains returns true if needle is in haystack.
|
||||
func sliceContains(haystack []string, needle string) bool {
|
||||
for _, s := range haystack {
|
||||
if s == needle {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// Interface guards
|
||||
var (
|
||||
_ caddy.Provisioner = (*HTTPTransport)(nil)
|
||||
|
||||
Reference in New Issue
Block a user