http_test.go 719 B

123456789101112131415161718192021222324252627
  1. package sniff_test
  2. import (
  3. "context"
  4. "strings"
  5. "testing"
  6. "github.com/sagernet/sing-box/common/sniff"
  7. "github.com/stretchr/testify/require"
  8. )
  9. func TestSniffHTTP1(t *testing.T) {
  10. t.Parallel()
  11. pkt := "GET / HTTP/1.1\r\nHost: www.google.com\r\nAccept: */*\r\n\r\n"
  12. metadata, err := sniff.HTTPHost(context.Background(), strings.NewReader(pkt))
  13. require.NoError(t, err)
  14. require.Equal(t, metadata.Domain, "www.google.com")
  15. }
  16. func TestSniffHTTP1WithPort(t *testing.T) {
  17. t.Parallel()
  18. pkt := "GET / HTTP/1.1\r\nHost: www.gov.cn:8080\r\nAccept: */*\r\n\r\n"
  19. metadata, err := sniff.HTTPHost(context.Background(), strings.NewReader(pkt))
  20. require.NoError(t, err)
  21. require.Equal(t, metadata.Domain, "www.gov.cn")
  22. }