mirror of
https://github.com/caddyserver/caddy.git
synced 2025-06-19 21:41:24 +08:00
Add hostname template action
This adds the ability to display the remote hostname of the visitors IP with template actions.
This commit is contained in:
@ -244,6 +244,37 @@ func TestHeader(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestHostname(t *testing.T) {
|
||||
context := getContextOrFail(t)
|
||||
|
||||
tests := []struct {
|
||||
inputRemoteAddr string
|
||||
expectedHostname string
|
||||
}{
|
||||
// Test 0 - ipv4 with port
|
||||
{"8.8.8.8:1111", "google-public-dns-a.google.com."},
|
||||
// Test 1 - ipv4 without port
|
||||
{"8.8.8.8", "google-public-dns-a.google.com."},
|
||||
// Test 2 - ipv6 with port
|
||||
{"[2001:4860:4860::8888]:11", "google-public-dns-a.google.com."},
|
||||
// Test 3 - ipv6 without port and brackets
|
||||
{"2001:4860:4860::8888", "google-public-dns-a.google.com."},
|
||||
// Test 4 - no hostname available
|
||||
{"1.1.1.1", "1.1.1.1"},
|
||||
}
|
||||
|
||||
for i, test := range tests {
|
||||
testPrefix := getTestPrefix(i)
|
||||
|
||||
context.Req.RemoteAddr = test.inputRemoteAddr
|
||||
actualHostname := context.Hostname()
|
||||
|
||||
if actualHostname != test.expectedHostname {
|
||||
t.Errorf(testPrefix+"Expected hostname %s, found %s", test.expectedHostname, actualHostname)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestEnv(t *testing.T) {
|
||||
context := getContextOrFail(t)
|
||||
|
||||
|
Reference in New Issue
Block a user