| [ |
| [ |
| "//www.g.com/error\n/bleh/bleh", |
| { |
| "host": "www.g.com", |
| "path": "/error%0A/bleh/bleh", |
| "reference": "relative" |
| } |
| ], |
| [ |
| "https://fastify.org", |
| { |
| "scheme": "https", |
| "host": "fastify.org", |
| "path": "", |
| "reference": "absolute" |
| } |
| ], |
| [ |
| "/definitions/Record%3Cstring%2CPerson%3E", |
| { |
| "path": "/definitions/Record%3Cstring%2CPerson%3E", |
| "reference": "relative" |
| } |
| ], |
| [ |
| "//10.10.10.10", |
| { |
| "host": "10.10.10.10", |
| "path": "", |
| "reference": "relative" |
| } |
| ], |
| [ |
| "//10.10.000.10", |
| { |
| "host": "10.10.0.10", |
| "path": "", |
| "reference": "relative" |
| } |
| ], |
| [ |
| "//[2001:db8::7%en0]", |
| { |
| "host": "2001:db8::7%en0", |
| "path": "", |
| "reference": "relative" |
| } |
| ], |
| [ |
| "//[2001:dbZ::1]:80", |
| { |
| "host": "[2001:dbz::1]", |
| "port": 80, |
| "path": "", |
| "reference": "relative" |
| } |
| ], |
| [ |
| "//[2001:db8::1]:80", |
| { |
| "host": "2001:db8::1", |
| "port": 80, |
| "path": "", |
| "reference": "relative" |
| } |
| ], |
| [ |
| "//[2001:db8::001]:80", |
| { |
| "host": "2001:db8::1", |
| "port": 80, |
| "path": "", |
| "reference": "relative" |
| } |
| ], |
| [ |
| "uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body", |
| { |
| "scheme": "uri", |
| "userinfo": "user:pass", |
| "host": "example.com", |
| "port": 123, |
| "path": "/one/two.three", |
| "query": "q1=a1&q2=a2", |
| "fragment": "body", |
| "reference": "uri" |
| } |
| ], |
| [ |
| "http://user:pass@example.com:123/one/space in.url?q1=a1&q2=a2#body", |
| { |
| "scheme": "http", |
| "userinfo": "user:pass", |
| "host": "example.com", |
| "port": 123, |
| "path": "/one/space%20in.url", |
| "query": "q1=a1&q2=a2", |
| "fragment": "body", |
| "reference": "uri" |
| } |
| ], |
| [ |
| "http://User:Pass@example.com:123/one/space in.url?q1=a1&q2=a2#body", |
| { |
| "scheme": "http", |
| "userinfo": "User:Pass", |
| "host": "example.com", |
| "port": 123, |
| "path": "/one/space%20in.url", |
| "query": "q1=a1&q2=a2", |
| "fragment": "body", |
| "reference": "uri" |
| } |
| ], |
| [ |
| "http://A%3AB@example.com:123/one/space", |
| { |
| "scheme": "http", |
| "userinfo": "A%3AB", |
| "host": "example.com", |
| "port": 123, |
| "path": "/one/space", |
| "reference": "absolute" |
| } |
| ], |
| [ |
| "//[::ffff:129.144.52.38]", |
| { |
| "host": "::ffff:129.144.52.38", |
| "path": "", |
| "reference": "relative" |
| } |
| ], |
| [ |
| "uri://10.10.10.10.example.com/en/process", |
| { |
| "scheme": "uri", |
| "host": "10.10.10.10.example.com", |
| "path": "/en/process", |
| "reference": "absolute" |
| } |
| ], |
| [ |
| "//[2606:2800:220:1:248:1893:25c8:1946]/test", |
| { |
| "host": "2606:2800:220:1:248:1893:25c8:1946", |
| "path": "/test", |
| "reference": "relative" |
| } |
| ], |
| [ |
| "ws://example.com/chat", |
| { |
| "scheme": "ws", |
| "host": "example.com", |
| "reference": "absolute", |
| "secure": false, |
| "resourceName": "/chat" |
| } |
| ], |
| [ |
| "ws://example.com/foo?bar=baz", |
| { |
| "scheme": "ws", |
| "host": "example.com", |
| "reference": "absolute", |
| "secure": false, |
| "resourceName": "/foo?bar=baz" |
| } |
| ], |
| [ |
| "wss://example.com/?bar=baz", |
| { |
| "scheme": "wss", |
| "host": "example.com", |
| "reference": "absolute", |
| "secure": true, |
| "resourceName": "/?bar=baz" |
| } |
| ], |
| [ |
| "wss://example.com/chat", |
| { |
| "scheme": "wss", |
| "host": "example.com", |
| "reference": "absolute", |
| "secure": true, |
| "resourceName": "/chat" |
| } |
| ], |
| [ |
| "wss://example.com/foo?bar=baz", |
| { |
| "scheme": "wss", |
| "host": "example.com", |
| "reference": "absolute", |
| "secure": true, |
| "resourceName": "/foo?bar=baz" |
| } |
| ], |
| [ |
| "wss://example.com/?bar=baz", |
| { |
| "scheme": "wss", |
| "host": "example.com", |
| "reference": "absolute", |
| "secure": true, |
| "resourceName": "/?bar=baz" |
| } |
| ], |
| [ |
| "urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6", |
| { |
| "scheme": "urn", |
| "reference": "absolute", |
| "nid": "uuid", |
| "uuid": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6" |
| } |
| ], |
| [ |
| "urn:uuid:notauuid-7dec-11d0-a765-00a0c91e6bf6", |
| { |
| "scheme": "urn", |
| "reference": "absolute", |
| "nid": "uuid", |
| "uuid": "notauuid-7dec-11d0-a765-00a0c91e6bf6", |
| "error": "UUID is not valid." |
| } |
| ], |
| [ |
| "urn:example:%D0%B0123,z456", |
| { |
| "scheme": "urn", |
| "reference": "absolute", |
| "nid": "example", |
| "nss": "%D0%B0123,z456" |
| } |
| ], |
| [ |
| "//[2606:2800:220:1:248:1893:25c8:1946:43209]", |
| { |
| "host": "[2606:2800:220:1:248:1893:25c8:1946:43209]", |
| "path": "", |
| "reference": "relative" |
| } |
| ], |
| [ |
| "http://foo.bar", |
| { |
| "scheme": "http", |
| "host": "foo.bar", |
| "path": "", |
| "reference": "absolute" |
| } |
| ], |
| [ |
| "http://", |
| { |
| "scheme": "http", |
| "host": "", |
| "path": "", |
| "reference": "absolute", |
| "error": "HTTP URIs must have a host." |
| } |
| ], |
| [ |
| "#/$defs/stringMap", |
| { |
| "path": "", |
| "fragment": "/$defs/stringMap", |
| "reference": "same-document" |
| } |
| ], |
| [ |
| "#/$defs/string%20Map", |
| { |
| "path": "", |
| "fragment": "/$defs/string%20Map", |
| "reference": "same-document" |
| } |
| ], |
| [ |
| "#/$defs/string Map", |
| { |
| "path": "", |
| "fragment": "/$defs/string%20Map", |
| "reference": "same-document" |
| } |
| ], |
| [ |
| "//?json=%7B%22foo%22%3A%22bar%22%7D", |
| { |
| "host": "", |
| "path": "", |
| "query": "json=%7B%22foo%22%3A%22bar%22%7D", |
| "reference": "relative" |
| } |
| ], |
| [ |
| "mailto:chris@example.com", |
| { |
| "scheme": "mailto", |
| "reference": "absolute", |
| "to": [ |
| "chris@example.com" |
| ] |
| } |
| ], |
| [ |
| "mailto:infobot@example.com?subject=current-issue", |
| { |
| "scheme": "mailto", |
| "reference": "absolute", |
| "to": [ |
| "infobot@example.com" |
| ], |
| "subject": "current-issue" |
| } |
| ], |
| [ |
| "mailto:infobot@example.com?body=send%20current-issue", |
| { |
| "scheme": "mailto", |
| "reference": "absolute", |
| "to": [ |
| "infobot@example.com" |
| ], |
| "body": "send current-issue" |
| } |
| ], |
| [ |
| "mailto:infobot@example.com?body=send%20current-issue%0D%0Asend%20index", |
| { |
| "scheme": "mailto", |
| "reference": "absolute", |
| "to": [ |
| "infobot@example.com" |
| ], |
| "body": "send current-issue\r\nsend index" |
| } |
| ], |
| [ |
| "mailto:list@example.org?In-Reply-To=%3C3469A91.D10AF4C@example.com%3E", |
| { |
| "scheme": "mailto", |
| "reference": "absolute", |
| "to": [ |
| "list@example.org" |
| ], |
| "headers": { |
| "In-Reply-To": "<3469A91.D10AF4C@example.com>" |
| } |
| } |
| ], |
| [ |
| "mailto:majordomo@example.com?body=subscribe%20bamboo-l", |
| { |
| "scheme": "mailto", |
| "reference": "absolute", |
| "to": [ |
| "majordomo@example.com" |
| ], |
| "body": "subscribe bamboo-l" |
| } |
| ], |
| [ |
| "mailto:joe@example.com?cc=bob@example.com&body=hello", |
| { |
| "scheme": "mailto", |
| "reference": "absolute", |
| "to": [ |
| "joe@example.com" |
| ], |
| "body": "hello", |
| "headers": { |
| "cc": "bob@example.com" |
| } |
| } |
| ], |
| [ |
| "mailto:gorby%25kremvax@example.com", |
| { |
| "scheme": "mailto", |
| "reference": "absolute", |
| "to": [ |
| "gorby%kremvax@example.com" |
| ] |
| } |
| ], |
| [ |
| "mailto:unlikely%3Faddress@example.com?blat=foop", |
| { |
| "scheme": "mailto", |
| "reference": "absolute", |
| "to": [ |
| "unlikely?address@example.com" |
| ], |
| "headers": { |
| "blat": "foop" |
| } |
| } |
| ], |
| [ |
| "mailto:Mike%26family@example.org", |
| { |
| "scheme": "mailto", |
| "reference": "absolute", |
| "to": [ |
| "Mike&family@example.org" |
| ] |
| } |
| ], |
| [ |
| "mailto:%22not%40me%22@example.org", |
| { |
| "scheme": "mailto", |
| "reference": "absolute", |
| "to": [ |
| "\"not@me\"@example.org" |
| ] |
| } |
| ], |
| [ |
| "mailto:%22oh%5C%5Cno%22@example.org", |
| { |
| "scheme": "mailto", |
| "reference": "absolute", |
| "to": [ |
| "\"oh\\\\no\"@example.org" |
| ] |
| } |
| ], |
| [ |
| "mailto:%22%5C%5C%5C%22it's%5C%20ugly%5C%5C%5C%22%22@example.org", |
| { |
| "scheme": "mailto", |
| "reference": "absolute", |
| "to": [ |
| "\"\\\\\\\"it's\\ ugly\\\\\\\"\"@example.org" |
| ] |
| } |
| ], |
| [ |
| "mailto:user@example.org?subject=caf%C3%A9", |
| { |
| "scheme": "mailto", |
| "reference": "absolute", |
| "to": [ |
| "user@example.org" |
| ], |
| "subject": "café" |
| } |
| ], |
| [ |
| "mailto:user@example.org?subject=%3D%3Futf-8%3FQ%3Fcaf%3DC3%3DA9%3F%3D", |
| { |
| "scheme": "mailto", |
| "reference": "absolute", |
| "to": [ |
| "user@example.org" |
| ], |
| "subject": "=?utf-8?Q?caf=C3=A9?=" |
| } |
| ], |
| [ |
| "mailto:user@example.org?subject=%3D%3Fiso-8859-1%3FQ%3Fcaf%3DE9%3F%3D", |
| { |
| "scheme": "mailto", |
| "reference": "absolute", |
| "to": [ |
| "user@example.org" |
| ], |
| "subject": "=?iso-8859-1?Q?caf=E9?=" |
| } |
| ], |
| [ |
| "mailto:user@example.org?subject=caf%C3%A9&body=caf%C3%A9", |
| { |
| "scheme": "mailto", |
| "reference": "absolute", |
| "to": [ |
| "user@example.org" |
| ], |
| "subject": "café", |
| "body": "café" |
| } |
| ], |
| [ |
| "mailto:user@%E7%B4%8D%E8%B1%86.example.org?subject=Test&body=NATTO", |
| { |
| "scheme": "mailto", |
| "reference": "absolute", |
| "to": [ |
| "user@xn--99zt52a.example.org" |
| ], |
| "subject": "Test", |
| "body": "NATTO" |
| } |
| ] |
| ] |