diff --git a/PROJECTS/beginner/canary-token-generator/backend/internal/token/generators/docx/generator.go b/PROJECTS/beginner/canary-token-generator/backend/internal/token/generators/docx/generator.go index c8c1575e..a418cc0c 100644 --- a/PROJECTS/beginner/canary-token-generator/backend/internal/token/generators/docx/generator.go +++ b/PROJECTS/beginner/canary-token-generator/backend/internal/token/generators/docx/generator.go @@ -140,9 +140,9 @@ func patchTemplate(template []byte, triggerURL string) ([]byte, error) { } hdr := &zip.FileHeader{Name: f.Name, Method: f.Method} - fw, cErr := w.CreateHeader(hdr) - if cErr != nil { - return nil, fmt.Errorf("docx: create %s: %w", f.Name, cErr) + fw, hErr := w.CreateHeader(hdr) + if hErr != nil { + return nil, fmt.Errorf("docx: create %s: %w", f.Name, hErr) } if _, wErr := fw.Write(body); wErr != nil { return nil, fmt.Errorf("docx: write %s: %w", f.Name, wErr) diff --git a/PROJECTS/beginner/canary-token-generator/backend/internal/token/generators/docx/generator_test.go b/PROJECTS/beginner/canary-token-generator/backend/internal/token/generators/docx/generator_test.go index 3dd5135a..d554270b 100644 --- a/PROJECTS/beginner/canary-token-generator/backend/internal/token/generators/docx/generator_test.go +++ b/PROJECTS/beginner/canary-token-generator/backend/internal/token/generators/docx/generator_test.go @@ -478,12 +478,26 @@ func TestTrigger_RecordsEventWithRequestMetadata(t *testing.T) { remote: "[2001:db8::1]:54321", wantIP: "2001:db8::1", }, + { + name: "RemoteAddr loopback IPv6 strips brackets and port", + headers: nil, + remote: "[::1]:9999", + wantIP: "::1", + }, { name: "RemoteAddr without port falls back to raw value", headers: nil, remote: "127.0.0.1", wantIP: "127.0.0.1", }, + { + name: "XFF IPv6 rightmost", + headers: map[string]string{ + "X-Forwarded-For": "198.51.100.1, 2001:db8::dead", + }, + remote: "127.0.0.1:9999", + wantIP: "2001:db8::dead", + }, { name: "CF value is trimmed of whitespace", headers: map[string]string{