mirror of
https://github.com/hanzoai/ingress.git
synced 2026-10-26 02:47:15 +00:00
376 files. All tests pass. Breaking wire changes: - X-Traefik-Fast-Proxy → X-Ingress-Fast-Proxy - X-Traefik-Router → X-Ingress-Router - Metric prefix traefik.* → ingress.* - ACME user agent containous-traefik → hanzoai-ingress - Plugin manifest .traefik.yml → .ingress.yml - Recovery middleware traefik-internal-recovery → ingress-internal-recovery Copyright: Traefik Labs → Hanzo AI Inc (all headers) Test domains: *.traefik.wtf → *.ingress.test Doc URLs: doc.traefik.io → hanzo.ai/docs/ingress Internal vars: traefikService* → ingressService*, etc. Docker refs: traefik:latest → ghcr.io/hanzoai/ingress:latest 100+ YAML/JSON test fixtures updated Remaining 30 refs are paerser library constraints (traefik.configfile flag, TRAEFIK_* env prefix) and digest auth hash-bound realm values. Cannot change without forking github.com/traefik/paerser.
39 lines
937 B
Go
39 lines
937 B
Go
package denyrouterrecursion
|
|
|
|
import (
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestServeHTTP(t *testing.T) {
|
|
req, err := http.NewRequest(http.MethodGet, "", nil)
|
|
require.NoError(t, err)
|
|
|
|
_, err = New("", http.HandlerFunc(func(_ http.ResponseWriter, _ *http.Request) {}))
|
|
require.Error(t, err)
|
|
|
|
next := 0
|
|
m, err := New("myRouter", http.HandlerFunc(func(_ http.ResponseWriter, _ *http.Request) {
|
|
next++
|
|
}))
|
|
require.NoError(t, err)
|
|
|
|
recorder := httptest.NewRecorder()
|
|
m.ServeHTTP(recorder, req)
|
|
|
|
assert.Equal(t, http.StatusOK, recorder.Code)
|
|
assert.Equal(t, "995d26092d19a224", m.routerNameHash)
|
|
assert.Equal(t, m.routerNameHash, req.Header.Get(xIngressRouter))
|
|
assert.Equal(t, 1, next)
|
|
|
|
recorder = httptest.NewRecorder()
|
|
m.ServeHTTP(recorder, req)
|
|
|
|
assert.Equal(t, 1, next)
|
|
assert.Equal(t, http.StatusBadRequest, recorder.Code)
|
|
}
|