File: normalization.rb

package info (click to toggle)
ruby3.3 3.3.8-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 153,620 kB
  • sloc: ruby: 1,244,308; ansic: 836,474; yacc: 28,074; pascal: 6,748; sh: 3,913; python: 1,719; cpp: 1,158; makefile: 742; asm: 712; javascript: 394; lisp: 97; perl: 62; awk: 36; sed: 23; xml: 4
file content (54 lines) | stat: -rw-r--r-- 2,131 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
module URISpec
  # Not an exhaustive list. Refer to rfc3986
  NORMALIZED_FORMS = [
    { normalized:     "http://example.com/",
      equivalent:  %w{ hTTp://example.com/
                          http://exaMple.com/
                          http://exa%4dple.com/
                          http://exa%4Dple.com/
                          http://exa%6dple.com/
                          http://exa%6Dple.com/
                          http://@example.com/
                          http://example.com:/
                          http://example.com:80/
                          http://example.com
                        },
      different:   %w{ http://example.com/#
                          http://example.com/?
                          http://example.com:8888/
                          http:///example.com
                          http:example.com
                          https://example.com/
                        },
    },
    { normalized:     "http://example.com/index.html",
      equivalent:  %w{ http://example.com/index.ht%6dl
                          http://example.com/index.ht%6Dl
                        },
     different:    %w{ http://example.com/index.hTMl
                          http://example.com/index.ht%4dl
                          http://example.com/index
                          http://example.com/
                          http://example.com/
                        },
    },
    { normalized:     "http://example.com/x?y#z",
      equivalent:  %w{ http://example.com/x?y#%7a
                          http://example.com/x?y#%7A
                          http://example.com/x?%79#z
                        },
     different:    %w{ http://example.com/x?Y#z
                          http://example.com/x?y#Z
                          http://example.com/x?y=#z
                          http://example.com/x?y
                          http://example.com/x#z
                        },
    },
    { normalized:     "http://example.com/x?q=a%20b",
      equivalent:  %w{
                        },
      different:   %w{ http://example.com/x?q=a+b
                        },
    },
  ]
end