uri-js-parse.json 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501
  1. [
  2. [
  3. "//www.g.com/error\n/bleh/bleh",
  4. {
  5. "host": "www.g.com",
  6. "path": "/error%0A/bleh/bleh",
  7. "reference": "relative"
  8. }
  9. ],
  10. [
  11. "https://fastify.org",
  12. {
  13. "scheme": "https",
  14. "host": "fastify.org",
  15. "path": "",
  16. "reference": "absolute"
  17. }
  18. ],
  19. [
  20. "/definitions/Record%3Cstring%2CPerson%3E",
  21. {
  22. "path": "/definitions/Record%3Cstring%2CPerson%3E",
  23. "reference": "relative"
  24. }
  25. ],
  26. [
  27. "//10.10.10.10",
  28. {
  29. "host": "10.10.10.10",
  30. "path": "",
  31. "reference": "relative"
  32. }
  33. ],
  34. [
  35. "//10.10.000.10",
  36. {
  37. "host": "10.10.0.10",
  38. "path": "",
  39. "reference": "relative"
  40. }
  41. ],
  42. [
  43. "//[2001:db8::7%en0]",
  44. {
  45. "host": "2001:db8::7%en0",
  46. "path": "",
  47. "reference": "relative"
  48. }
  49. ],
  50. [
  51. "//[2001:dbZ::1]:80",
  52. {
  53. "host": "[2001:dbz::1]",
  54. "port": 80,
  55. "path": "",
  56. "reference": "relative"
  57. }
  58. ],
  59. [
  60. "//[2001:db8::1]:80",
  61. {
  62. "host": "2001:db8::1",
  63. "port": 80,
  64. "path": "",
  65. "reference": "relative"
  66. }
  67. ],
  68. [
  69. "//[2001:db8::001]:80",
  70. {
  71. "host": "2001:db8::1",
  72. "port": 80,
  73. "path": "",
  74. "reference": "relative"
  75. }
  76. ],
  77. [
  78. "uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body",
  79. {
  80. "scheme": "uri",
  81. "userinfo": "user:pass",
  82. "host": "example.com",
  83. "port": 123,
  84. "path": "/one/two.three",
  85. "query": "q1=a1&q2=a2",
  86. "fragment": "body",
  87. "reference": "uri"
  88. }
  89. ],
  90. [
  91. "http://user:pass@example.com:123/one/space in.url?q1=a1&q2=a2#body",
  92. {
  93. "scheme": "http",
  94. "userinfo": "user:pass",
  95. "host": "example.com",
  96. "port": 123,
  97. "path": "/one/space%20in.url",
  98. "query": "q1=a1&q2=a2",
  99. "fragment": "body",
  100. "reference": "uri"
  101. }
  102. ],
  103. [
  104. "http://User:Pass@example.com:123/one/space in.url?q1=a1&q2=a2#body",
  105. {
  106. "scheme": "http",
  107. "userinfo": "User:Pass",
  108. "host": "example.com",
  109. "port": 123,
  110. "path": "/one/space%20in.url",
  111. "query": "q1=a1&q2=a2",
  112. "fragment": "body",
  113. "reference": "uri"
  114. }
  115. ],
  116. [
  117. "http://A%3AB@example.com:123/one/space",
  118. {
  119. "scheme": "http",
  120. "userinfo": "A%3AB",
  121. "host": "example.com",
  122. "port": 123,
  123. "path": "/one/space",
  124. "reference": "absolute"
  125. }
  126. ],
  127. [
  128. "//[::ffff:129.144.52.38]",
  129. {
  130. "host": "::ffff:129.144.52.38",
  131. "path": "",
  132. "reference": "relative"
  133. }
  134. ],
  135. [
  136. "uri://10.10.10.10.example.com/en/process",
  137. {
  138. "scheme": "uri",
  139. "host": "10.10.10.10.example.com",
  140. "path": "/en/process",
  141. "reference": "absolute"
  142. }
  143. ],
  144. [
  145. "//[2606:2800:220:1:248:1893:25c8:1946]/test",
  146. {
  147. "host": "2606:2800:220:1:248:1893:25c8:1946",
  148. "path": "/test",
  149. "reference": "relative"
  150. }
  151. ],
  152. [
  153. "ws://example.com/chat",
  154. {
  155. "scheme": "ws",
  156. "host": "example.com",
  157. "reference": "absolute",
  158. "secure": false,
  159. "resourceName": "/chat"
  160. }
  161. ],
  162. [
  163. "ws://example.com/foo?bar=baz",
  164. {
  165. "scheme": "ws",
  166. "host": "example.com",
  167. "reference": "absolute",
  168. "secure": false,
  169. "resourceName": "/foo?bar=baz"
  170. }
  171. ],
  172. [
  173. "wss://example.com/?bar=baz",
  174. {
  175. "scheme": "wss",
  176. "host": "example.com",
  177. "reference": "absolute",
  178. "secure": true,
  179. "resourceName": "/?bar=baz"
  180. }
  181. ],
  182. [
  183. "wss://example.com/chat",
  184. {
  185. "scheme": "wss",
  186. "host": "example.com",
  187. "reference": "absolute",
  188. "secure": true,
  189. "resourceName": "/chat"
  190. }
  191. ],
  192. [
  193. "wss://example.com/foo?bar=baz",
  194. {
  195. "scheme": "wss",
  196. "host": "example.com",
  197. "reference": "absolute",
  198. "secure": true,
  199. "resourceName": "/foo?bar=baz"
  200. }
  201. ],
  202. [
  203. "wss://example.com/?bar=baz",
  204. {
  205. "scheme": "wss",
  206. "host": "example.com",
  207. "reference": "absolute",
  208. "secure": true,
  209. "resourceName": "/?bar=baz"
  210. }
  211. ],
  212. [
  213. "urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
  214. {
  215. "scheme": "urn",
  216. "reference": "absolute",
  217. "nid": "uuid",
  218. "uuid": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6"
  219. }
  220. ],
  221. [
  222. "urn:uuid:notauuid-7dec-11d0-a765-00a0c91e6bf6",
  223. {
  224. "scheme": "urn",
  225. "reference": "absolute",
  226. "nid": "uuid",
  227. "uuid": "notauuid-7dec-11d0-a765-00a0c91e6bf6",
  228. "error": "UUID is not valid."
  229. }
  230. ],
  231. [
  232. "urn:example:%D0%B0123,z456",
  233. {
  234. "scheme": "urn",
  235. "reference": "absolute",
  236. "nid": "example",
  237. "nss": "%D0%B0123,z456"
  238. }
  239. ],
  240. [
  241. "//[2606:2800:220:1:248:1893:25c8:1946:43209]",
  242. {
  243. "host": "[2606:2800:220:1:248:1893:25c8:1946:43209]",
  244. "path": "",
  245. "reference": "relative"
  246. }
  247. ],
  248. [
  249. "http://foo.bar",
  250. {
  251. "scheme": "http",
  252. "host": "foo.bar",
  253. "path": "",
  254. "reference": "absolute"
  255. }
  256. ],
  257. [
  258. "http://",
  259. {
  260. "scheme": "http",
  261. "host": "",
  262. "path": "",
  263. "reference": "absolute",
  264. "error": "HTTP URIs must have a host."
  265. }
  266. ],
  267. [
  268. "#/$defs/stringMap",
  269. {
  270. "path": "",
  271. "fragment": "/$defs/stringMap",
  272. "reference": "same-document"
  273. }
  274. ],
  275. [
  276. "#/$defs/string%20Map",
  277. {
  278. "path": "",
  279. "fragment": "/$defs/string%20Map",
  280. "reference": "same-document"
  281. }
  282. ],
  283. [
  284. "#/$defs/string Map",
  285. {
  286. "path": "",
  287. "fragment": "/$defs/string%20Map",
  288. "reference": "same-document"
  289. }
  290. ],
  291. [
  292. "//?json=%7B%22foo%22%3A%22bar%22%7D",
  293. {
  294. "host": "",
  295. "path": "",
  296. "query": "json=%7B%22foo%22%3A%22bar%22%7D",
  297. "reference": "relative"
  298. }
  299. ],
  300. [
  301. "mailto:chris@example.com",
  302. {
  303. "scheme": "mailto",
  304. "reference": "absolute",
  305. "to": [
  306. "chris@example.com"
  307. ]
  308. }
  309. ],
  310. [
  311. "mailto:infobot@example.com?subject=current-issue",
  312. {
  313. "scheme": "mailto",
  314. "reference": "absolute",
  315. "to": [
  316. "infobot@example.com"
  317. ],
  318. "subject": "current-issue"
  319. }
  320. ],
  321. [
  322. "mailto:infobot@example.com?body=send%20current-issue",
  323. {
  324. "scheme": "mailto",
  325. "reference": "absolute",
  326. "to": [
  327. "infobot@example.com"
  328. ],
  329. "body": "send current-issue"
  330. }
  331. ],
  332. [
  333. "mailto:infobot@example.com?body=send%20current-issue%0D%0Asend%20index",
  334. {
  335. "scheme": "mailto",
  336. "reference": "absolute",
  337. "to": [
  338. "infobot@example.com"
  339. ],
  340. "body": "send current-issue\r\nsend index"
  341. }
  342. ],
  343. [
  344. "mailto:list@example.org?In-Reply-To=%3C3469A91.D10AF4C@example.com%3E",
  345. {
  346. "scheme": "mailto",
  347. "reference": "absolute",
  348. "to": [
  349. "list@example.org"
  350. ],
  351. "headers": {
  352. "In-Reply-To": "<3469A91.D10AF4C@example.com>"
  353. }
  354. }
  355. ],
  356. [
  357. "mailto:majordomo@example.com?body=subscribe%20bamboo-l",
  358. {
  359. "scheme": "mailto",
  360. "reference": "absolute",
  361. "to": [
  362. "majordomo@example.com"
  363. ],
  364. "body": "subscribe bamboo-l"
  365. }
  366. ],
  367. [
  368. "mailto:joe@example.com?cc=bob@example.com&body=hello",
  369. {
  370. "scheme": "mailto",
  371. "reference": "absolute",
  372. "to": [
  373. "joe@example.com"
  374. ],
  375. "body": "hello",
  376. "headers": {
  377. "cc": "bob@example.com"
  378. }
  379. }
  380. ],
  381. [
  382. "mailto:gorby%25kremvax@example.com",
  383. {
  384. "scheme": "mailto",
  385. "reference": "absolute",
  386. "to": [
  387. "gorby%kremvax@example.com"
  388. ]
  389. }
  390. ],
  391. [
  392. "mailto:unlikely%3Faddress@example.com?blat=foop",
  393. {
  394. "scheme": "mailto",
  395. "reference": "absolute",
  396. "to": [
  397. "unlikely?address@example.com"
  398. ],
  399. "headers": {
  400. "blat": "foop"
  401. }
  402. }
  403. ],
  404. [
  405. "mailto:Mike%26family@example.org",
  406. {
  407. "scheme": "mailto",
  408. "reference": "absolute",
  409. "to": [
  410. "Mike&family@example.org"
  411. ]
  412. }
  413. ],
  414. [
  415. "mailto:%22not%40me%22@example.org",
  416. {
  417. "scheme": "mailto",
  418. "reference": "absolute",
  419. "to": [
  420. "\"not@me\"@example.org"
  421. ]
  422. }
  423. ],
  424. [
  425. "mailto:%22oh%5C%5Cno%22@example.org",
  426. {
  427. "scheme": "mailto",
  428. "reference": "absolute",
  429. "to": [
  430. "\"oh\\\\no\"@example.org"
  431. ]
  432. }
  433. ],
  434. [
  435. "mailto:%22%5C%5C%5C%22it's%5C%20ugly%5C%5C%5C%22%22@example.org",
  436. {
  437. "scheme": "mailto",
  438. "reference": "absolute",
  439. "to": [
  440. "\"\\\\\\\"it's\\ ugly\\\\\\\"\"@example.org"
  441. ]
  442. }
  443. ],
  444. [
  445. "mailto:user@example.org?subject=caf%C3%A9",
  446. {
  447. "scheme": "mailto",
  448. "reference": "absolute",
  449. "to": [
  450. "user@example.org"
  451. ],
  452. "subject": "café"
  453. }
  454. ],
  455. [
  456. "mailto:user@example.org?subject=%3D%3Futf-8%3FQ%3Fcaf%3DC3%3DA9%3F%3D",
  457. {
  458. "scheme": "mailto",
  459. "reference": "absolute",
  460. "to": [
  461. "user@example.org"
  462. ],
  463. "subject": "=?utf-8?Q?caf=C3=A9?="
  464. }
  465. ],
  466. [
  467. "mailto:user@example.org?subject=%3D%3Fiso-8859-1%3FQ%3Fcaf%3DE9%3F%3D",
  468. {
  469. "scheme": "mailto",
  470. "reference": "absolute",
  471. "to": [
  472. "user@example.org"
  473. ],
  474. "subject": "=?iso-8859-1?Q?caf=E9?="
  475. }
  476. ],
  477. [
  478. "mailto:user@example.org?subject=caf%C3%A9&body=caf%C3%A9",
  479. {
  480. "scheme": "mailto",
  481. "reference": "absolute",
  482. "to": [
  483. "user@example.org"
  484. ],
  485. "subject": "café",
  486. "body": "café"
  487. }
  488. ],
  489. [
  490. "mailto:user@%E7%B4%8D%E8%B1%86.example.org?subject=Test&body=NATTO",
  491. {
  492. "scheme": "mailto",
  493. "reference": "absolute",
  494. "to": [
  495. "user@xn--99zt52a.example.org"
  496. ],
  497. "subject": "Test",
  498. "body": "NATTO"
  499. }
  500. ]
  501. ]