mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-08-01 13:33:48 +08:00
### Summary Check the URL to prevent SSRF attack. --------- Signed-off-by: Jin Hai <haijin.chn@gmail.com>
31 lines
927 B
Go
31 lines
927 B
Go
package models
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
|
|
"ragflow/internal/utility"
|
|
)
|
|
|
|
// withSSRFBypass enables the test-only SSRF bypass for the duration of a test
|
|
// and restores the previous value in t.Cleanup. Driver tests exercise request
|
|
// and response logic against httptest servers bound to 127.0.0.1, which the
|
|
// strict SSRF guard (NewDriverHTTPClient(false)) rejects. SSRF enforcement has
|
|
// its own dedicated coverage in internal/utility/ssrf_test.go.
|
|
func withSSRFBypass(t *testing.T) {
|
|
t.Helper()
|
|
prev := utility.AllowAnyHostForTest
|
|
utility.AllowAnyHostForTest = true
|
|
t.Cleanup(func() { utility.AllowAnyHostForTest = prev })
|
|
}
|
|
|
|
func requireNoSuchMethod(t *testing.T, name string, err error) {
|
|
t.Helper()
|
|
if err == nil {
|
|
t.Fatalf("%s: expected no such method error, got nil", name)
|
|
}
|
|
if !strings.Contains(err.Error(), "no such method") {
|
|
t.Fatalf("%s: expected no such method error, got %v", name, err)
|
|
}
|
|
}
|