chez-uri 0.8.0
An RFC 3986 URI parser for Chez Scheme, in portable R6RS
Parse, validate, resolve and normalize URIs as RFC 3986 defines them. (uri easy) takes a URI as a string and answers with strings: the host, the port as a number, decoded path segments and query pairs.
Underneath is a byte-level parser for servers: it reads bytevectors, accepts input in any number of chunks, and reuses its memory from one request to the next.
$ akku update $ akku install chez-uri $ .akku/env
Authors
Kiyomi Computation Systems LLC
License
BSD-3-Clause
Dependencies
^0.8.0
Source code
https://github.com/Kiyomi-Computation-Systems/uriparse.git git
94162999e7b91568a0925bd95a9d5ff2b6353476
Tag: v0.8.0
Package contents
- (generated uri-scanner) R6
- → uri-scanner-machine
- ← (rnrs) R6
- ← (byte-machine runtime)
- (uri charset) R6
- → uri-charset-error-codes uri-charset-error-code? validate-component
- ← (rnrs) R6
- ← (uri percent)
- ← (uri range)
- (uri collect) R6
- → make-uri-collector uri-collect-feed! uri-collect-finish! uri-collector-reset! uri-parse uri-parse-result? uri-parse-ok? uri-parse-components uri-parse-error-code uri-parse-error-offset uri-parse-component-offset uri-parse-validate uri-parse-result-validate uri-parse-authority-form uri-parse-authority-form-validate uri-authority-form-error-codes uri-authority-form-error-code?
- ← (rnrs) R6
- ← (byte-machine runtime)
- ← (generated uri-scanner)
- ← (uri components)
- ← (uri vocabulary)
- ← (uri charset)
- ← (uri host)
- (uri components) R6
- → make-uri-components uri-components? uri-components-scheme uri-components-authority uri-components-path uri-components-query uri-components-fragment uri-component-absent? uri-component-present? uri-component-empty? uri-component-present-nonempty? uri-components=? uri-components-error? uri-components-error-detail
- ← (rnrs) R6
- (uri easy) R6
- → string->uri string->uri-reference string->relative-ref uri-string? uri? uri-scheme uri-authority uri-userinfo uri-host uri-port uri-path uri-query uri-fragment uri-path-segments uri-query-pairs uri-form-pairs uri-decode uri-encode uri->string uri-resolve uri-normalize uri=? uri->components components->uri uri-error? uri-error-reason uri-error-offset uri-error-input uri-error-reasons
- ← (rnrs) R6
- ← (uri components)
- ← (uri collect)
- ← (uri host)
- ← (uri normalize)
- ← (uri percent)
- ← (uri query)
- ← (uri path)
- ← (uri resolve)
- ← (uri recompose)
- (uri grammar) R6
- → make-uri-scanner-machine
- ← (rnrs) R6
- ← (byte-machine graph)
- ← (uri vocabulary)
- (uri host) R6
- → uri-host-error-codes uri-host-error-code? validate-authority authority-host-span
- ← (rnrs) R6
- ← (uri percent)
- ← (uri range)
- (uri normalize) R6
- → normalize-scheme pct-normalize normalize-components
- ← (rnrs) R6
- ← (uri percent)
- ← (uri components)
- ← (uri host)
- (uri path) R6
- → remove-dot-segments remove-dot-segments-trace merge
- ← (rnrs) R6
- (uri percent) R6
- → pct-decode pct-encode unreserved-byte? hex-digit-value nibble->hex-digit
- ← (rnrs) R6
- (uri query) R6
- → query-pairs form-pairs
- ← (rnrs) R6
- ← (uri percent)
- (uri range) R6
- → check-range
- ← (rnrs) R6
- (uri recompose) R6
- → recompose
- ← (rnrs) R6
- ← (uri components)
- (uri resolve) R6
- → resolve-components
- ← (rnrs) R6
- ← (uri components)
- ← (uri path)
- (uri vocabulary) R6
- → uri-mode-table uri-mode-names uri-mode-value uri-mode-width uri-span-names uri-span-name? uri-span-data-callback uri-span-complete-callback uri-event-callback-names uri-callback-names uri-callback-name? uri-error-codes uri-error-code? uri-vocabulary-error? uri-vocabulary-error-detail
- ← (rnrs) R6
- (uri test harness) R6 Chez Scheme Test
- → harness-begin harness-finish harness-summary harness-exit-status harness-status-pass harness-status-failed harness-status-harness-error harness-status-provenance harness-empty-selection-error harness-empty-selection-diagnosis harness-group harness-case check check-equal check-not-equal check-fail check-raises with-cleanup harness-probe harness-set-filter! probe-cases probe-failed-cases probe-checks probe-failures probe-errors probe-skipped probe-cleanup-failures probe-raised? probe-failure-records failure-record-id failure-record-what failure-record-detail harness-string-contains? harness-join harness-split harness-take harness-member? harness-failure-context harness-normalize-filter harness-counters harness-restore-counters! harness-capture-state harness-fingerprint-bytevector harness-fingerprint-combine harness-fingerprint->string harness-fingerprint-file harness-bytes->string harness-provenance-diagnosis harness-verify-provenance! harness-provenance-reachability-diagnosis adapter-runtime-name adapter-runtime-version adapter-machine-type adapter-os adapter-architecture adapter-execution-mode adapter-environment-variable adapter-exit adapter-value->string adapter-describe-condition adapter-file-bytes adapter-run-command adapter-bytes-allocated adapter-real-time adapter-flush-output adapter-machine-type->os adapter-machine-type->architecture modulo quotient remainder
- ← (rnrs) R6
- ← (uri test fingerprint)
- ← (rnrs r5rs) R6
- ← (chezscheme) Built-in
- (uri test abnf-oracle) R6 Test
- → oracle-recognize? oracle-recognize-string? abnf-oracle-error? abnf-oracle-error-detail
- ← (rnrs) R6
- ← (uri test charset-oracle)
- ← (uri test host-oracle)
- (uri test api-reference) R6 Test
- → library-datum->api markdown->reference-analysis reference-analysis? reference-analysis-modules reference-analysis-entries reference-analysis-problems reference-entry? reference-entry-name reference-entry-kind reference-entry-modules reference-entry-body? reference-entry-availability-count reference-diagnostics
- ← (rnrs) R6
- (uri test charset-oracle) R6 Test
- → oracle-alpha? oracle-digit? oracle-hexdig? oracle-unreserved? oracle-sub-delim? oracle-pchar-literal? oracle-component-literal? oracle-scan negative-load negative-parse nv? nv-mode nv-input nv-component nv-code nv-offset nv-note negative-cross-check charset-oracle-error? charset-oracle-error-detail
- ← (rnrs) R6
- (uri test corpus) R6 Test
- → corpus-load-resolution corpus-parse-resolution resolution-base resolution-vectors resolution-ref rv? rv-id rv-section rv-reference rv-target corpus-load-dot-segments corpus-parse-dot-segments ds? ds-trace ds-step ds-output ds-input corpus-load-examples corpus-parse-examples corpus-load-adversarial corpus-parse-adversarial av? av-mode av-input av-expect av-note compare-target corpus-error? corpus-error-detail
- ← (rnrs) R6
- (uri test fingerprint) R6 Test
- → harness-fingerprint-bytevector harness-fingerprint-file harness-fingerprint-combine harness-fingerprint->string
- ← (rnrs) R6
- ← (rnrs r5rs) R6
- (uri test harness) R6 Chez Scheme Test
- → harness-begin harness-finish harness-summary harness-exit-status harness-status-pass harness-status-failed harness-status-harness-error harness-status-provenance harness-empty-selection-error harness-empty-selection-diagnosis harness-group harness-case check check-equal check-not-equal check-fail check-raises with-cleanup harness-probe harness-set-filter! probe-cases probe-failed-cases probe-checks probe-failures probe-errors probe-skipped probe-cleanup-failures probe-raised? probe-failure-records failure-record-id failure-record-what failure-record-detail harness-string-contains? harness-join harness-split harness-take harness-member? harness-failure-context harness-normalize-filter harness-counters harness-restore-counters! harness-capture-state harness-fingerprint-bytevector harness-fingerprint-combine harness-fingerprint->string harness-fingerprint-file harness-bytes->string harness-provenance-diagnosis harness-verify-provenance! harness-provenance-reachability-diagnosis adapter-runtime-name adapter-runtime-version adapter-machine-type adapter-os adapter-architecture adapter-execution-mode adapter-environment-variable adapter-exit adapter-value->string adapter-describe-condition adapter-file-bytes adapter-run-command adapter-bytes-allocated adapter-real-time adapter-flush-output adapter-machine-type->os adapter-machine-type->architecture modulo quotient remainder
- ← (rnrs) R6
- ← (uri test fingerprint)
- ← (rnrs r5rs) R6
- ← (chezscheme) Built-in
- (uri test host-oracle) R6 Test
- → oracle-alpha? oracle-digit? oracle-hexdig? oracle-unreserved? oracle-sub-delim? oracle-userinfo-literal? oracle-reg-name-literal? oracle-scan-authority authority-of negative-load negative-parse nv? nv-mode nv-input nv-component nv-code nv-offset nv-note negative-cross-check host-oracle-error? host-oracle-error-detail
- ← (rnrs) R6
- (uri test prng) R6 Test
- → make-prng prng-next
- ← (rnrs) R6
- (uri test query-oracle) R6 Test
- → oracle-query-pairs oracle-form-pairs
- ← (rnrs) R6
- (uri test raised) R6 Test
- → raised check-raised check-refuses
- ← (rnrs) R6
- ← (uri test harness)
- (uri test ranged) R6 Test
- → results-of raised-by? least-allocation for-each-placement
- ← (rnrs) R6
- ← (uri test harness)
- (uri test ratchet) R6 Test
- → ratchet-parse ratchet-load ratchet-entries ratchet-entry? ratchet-entry-id ratchet-entry-status ratchet-status ratchet-violations ratchet-statuses ratchet-error? ratchet-error-detail
- ← (rnrs) R6
Version history
- 2026-10-16 ~ 0.8.0