1 Commits
Author SHA1 Message Date
sneak 1b949fddc6 Rename internal/proxy to internal/servewaf (closes #173)
check / check (push) Successful in 6m11s
The package passes nothing to an app since rproxy took that over, so it
is named after the command it serves. Its constructor is New, like
rproxy's. The rproxy tests call their stand-in for servewaf standIn,
since a local servewaf would hide the package. No change of behaviour.

Model: opus-5-5
2026-11-06 18:29:22 +00:00
7 changed files with 11 additions and 13 deletions

No files matched your search

+1 -1
View File
@@ -524,7 +524,7 @@ func TestServeWAFAnswersWithinTheTimeLimitWhileEveryOutsideSourceHangs(t *testin
server, out, _ := newServeWAFWith(t, func(params servewaf.Params) *servewaf.Server {
params.AbuseIPDBURL = silentAbuseIPDBURL
return servewaf.NewServeWAF(params)
return servewaf.New(params)
}, held, time.Now, map[string]string{
deniedCountries: "KP", wafMode: block,
dnsblZones: dnsblZone, dnsblResolver: resolver.LocalAddr().String(),
+1 -1
View File
@@ -379,7 +379,7 @@ func TestRequestWaitsAsLongAsTheLookupTimeoutSays(t *testing.T) {
// clock of the test's own: the wait lasts exactly as long as it should,
// however slowly the test process runs. Nothing in it may wait on the
// network, which would keep that clock from moving on: the request is
// handed to the proxy's handler, and GeoJS is one that never answers.
// handed to servewaf's handler, and GeoJS is one that never answers.
synctest.Test(t, func(t *testing.T) {
// Not the default. The exclusive list needs the answer, and the app
// is never reached.
+4 -6
View File
@@ -1,8 +1,6 @@
// Package servewaf is the server the servewaf command runs. It answers each of
// rproxy's questions with what to do with the request, and takes rproxy's
// report once the visitor's answer has ended, writing the request's log line.
// It also answers servewaf's own endpoints: the health check, the metrics, the
// bans and the clients.
// Package servewaf is the server the servewaf command runs. It answers rproxy's
// questions, takes rproxy's reports and answers its own endpoints, and writes a
// log line for each.
package servewaf
import (
@@ -45,7 +43,7 @@ const BansPath = "/_smallwebwaf/bans"
// client's address after it, with SWWAF_ADMIN_TOKEN.
const ClientsPath = "/_smallwebwaf/clients/"
// Params are what NewServeWAF needs.
// Params are what New needs.
type Params struct {
Config *config.Config
// RequestLog receives two JSON lines per question, one at its decision and
+1 -1
View File
@@ -404,7 +404,7 @@ func newServeWAF(
) (*servewaf.Server, *output, *alerts.Queue) {
t.Helper()
return newServeWAFWith(t, servewaf.NewServeWAF, geojsURL, now, env)
return newServeWAFWith(t, servewaf.New, geojsURL, now, env)
}
// newServeWAFWith is newServeWAF for the server build makes.
+1 -1
View File
@@ -617,7 +617,7 @@ const (
// AbuseIPDB.
const abuseipdb = reputation.AbuseIPDBSource
// abuseIPDBURL is where newProxy has clients checked with AbuseIPDB: at
// abuseIPDBURL is where newServeWAF has clients checked with AbuseIPDB: at
// abuseIPDBStandIn, which TestMain registers with Go's default transport,
// through which AbuseIPDB is asked.
const abuseIPDBURL = "abuseipdb://stand-in/api/v2/check"
+2 -2
View File
@@ -103,13 +103,13 @@ type Report struct {
DurationUpstreamTotal float64 `json:"duration_upstream_total"`
}
// NewServeWAF returns the server `smallwebwaf servewaf` runs. It answers
// New returns the server `smallwebwaf servewaf` runs. It answers
// rproxy's questions, takes rproxy's reports and answers its own endpoints. It
// passes nothing to an app. rproxy applies the size and time limits to the
// visitor. Go's default limit on a request's line and headers, 1 MiB, stays: it
// is far above rproxy's, and a question refused for its size would have rproxy
// let the request through.
func NewServeWAF(params Params) *Server {
func New(params Params) *Server {
h := newHandler(params)
return &Server{
+1 -1
View File
@@ -207,7 +207,7 @@ func newServer(
}
}
server := servewaf.NewServeWAF(servewaf.Params{
server := servewaf.New(servewaf.Params{
Config: cfg,
RequestLog: stdout,
ProcessLog: processLog,