#uri-parser #component #scheme #password #uri #port #logic #ipv4

bin+lib uri_parser_gdv

URI Parser is a pest-based parser that breaks URIs into structured components

6 releases

0.1.5 Nov 19, 2024
0.1.4 Nov 14, 2024

#534 in Web programming

Download history 3/week @ 2024-12-08 5/week @ 2025-02-09 10/week @ 2025-02-16

256 downloads per month

MIT license

10KB
185 lines

uri_parser_gdv

Crates.io: https://crates.io/crates/uri_parser_gdv/


URI Parser is a pest-based parser that breaks URIs into structured components

Parsing Logic

Parsing logic

The following components are supported:

  • Scheme
  • Authority: username and password
  • Domain / IPv4
  • Port
  • Path (segmented by /)
  • Query params
  • Subdomain: Optional subdomain that appears before the main domain.

Usage

Parsing URIs

uri_parser_gdv parse <URI>

Subcommands

  about          Print author's details

Args and opts

  -h, --help     Print help
  -V, --version  Print version

Example

uri_parser_gdv parse wss://user:pass@greedydev.io:1234/hello/world?msg=message&type=2

Output:

scheme: wss
authority:
  - username: user
  - password: pass
domain: greedydev.io
port: 1234
path: /hello/world
query:
  - msg: message
  - type: 2

Dependencies

~4MB
~72K SLoC