• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

fredbi / uri
98%
master: 89%

Build:
Build:
LAST BUILD BRANCH: dependabot/github_actions/ci-actions-167a898cab
DEFAULT BRANCH: master
Repo Added 09 Oct 2022 10:12AM UTC
Token 7XC06KXQfniHY8RH4Uj6rEpPRlLFZYLWU regen
Build 166 Last
Files 9
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH fix-reduce-regexps
branch: fix-reduce-regexps
CHANGE BRANCH
x
Reset
Sync Branches
  • fix-reduce-regexps
  • build/resolve-go1.19-backwards-compat
  • chore/ci-dependabot-update
  • ci-govulncheck
  • ci/fix-actions
  • dependabot/github_actions/ci-actions-167a898cab
  • dependabot/github_actions/ci-actions-8e42324b74
  • dependabot/github_actions/ci-actions-a331d3ec2d
  • dependabot/go_modules/development-dependencies-ddf553c9d0
  • dependabot/go_modules/github.com/stretchr/testify-1.9.0
  • doc-readme
  • doc/readme-todos
  • doc/readme-update
  • doc/update-doc
  • enh-error-handling
  • exp/profile-with-bitset
  • exp/switch-dns
  • feat/default-port
  • feat/explicit-errors
  • feat/inner-error-state
  • feat/more-iana
  • feat/strict-ip
  • feat/stricter-percent-decode
  • feat/stricter-scheme
  • fix-3-path-in-host-field
  • fix/55
  • fix/ci-stuff
  • fix/doc
  • fix/edgecases
  • master
  • patch-1
  • perf/inner-pointer
  • perf/profiling
  • perf/slices-to-switch
  • perf/string-allocs
  • refact-layout
  • refact-minor-optims
  • refact-tests
  • refact-validations
  • refs/tags/v0.1.0
  • refs/tags/v1.0.0
  • refs/tags/v1.1.0
  • refs/tags/v1.1.1
  • release/prepare-v1.1.0
  • test-fuzz
  • test/more-coverage
  • test/regroup-rationalize
  • updated-docs
  • v2
  • workflow

17 Sep 2023 08:07AM UTC coverage: 97.767% (-1.6%) from 99.374%
6212459369

Pull #20

github

fredbi
enhancement: replaces regular expressions by explicit parsing following
the RFC grammar.

Performance
-----------
* Removed all usage of regexp's.
* Replaced IPv6 parsing by standard lib functionality.

Overall, the benchmark shows a speed improvement of x5 when compared to
v0.1. This is still 2x slower than URL parsing with the standard libary.

RFC strictness
-----------
This PR fixes a few strictness issues:
* identifies wrong URIs with empty authority and path starting with a
double '/'
* identifies invalid IPv6 addresses with an empty zone
* strictier check of DNS names
* strictier check of URL-encoded escape sequences
* allow escape sequences in IP addresses
* strictly follows the RFC rule: "if not a valid IP, then consider a
registered name": hence
* strictier IP kind distinction: IPv6 must be between [], IPv4 must not

Caveats: IPv6 relies on the standard library and is therefore not very
strict regarding valid IPv6.

Fixes
-----------
* fixes #14

Signed-off-by: Frédéric BIDON <fredbi@yahoo.com>
Pull Request #20: enhancement: replaces regular expressions by explicit parsing following the RFC grammar.

184 of 184 new or added lines in 1 file covered. (100.0%)

613 of 627 relevant lines covered (97.77%)

252.44 hits per line

Relevant lines Covered
Build:
Build:
627 RELEVANT LINES 613 COVERED LINES
252.44 HITS PER LINE
Source Files on fix-reduce-regexps
  • List 3
  • Changed 2
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
6212459369 fix-reduce-regexps enhancement: replaces regular expressions by explicit parsing following the RFC grammar. Performance ----------- * Removed all usage of regexp's. * Replaced IPv6 parsing by standard lib functionality. Overall, the benchmark shows a speed improve... Pull #20 17 Sep 2023 08:11AM UTC fredbi github
97.77
6212453522 fix-reduce-regexps enhancement: replaces regular expressions by explicit parsing following the RFC grammar. Performance ----------- * Removed all usage of regexp's. * Replaced IPv6 parsing by standard lib functionality. Overall, the benchmark shows a speed improve... push 17 Sep 2023 08:10AM UTC fredbi github
97.77
6212441455 fix-reduce-regexps enhancement: replaces regular expressions by explicit parsing following the RFC grammar. Replaced IPv6 parsing by standard lib functionality. Overall, the benchmark shows a speed improvement of x5 when compared to v0.1. This is still 2x slower t... push 17 Sep 2023 08:07AM UTC fredbi github
97.77
6212149638 fix-reduce-regexps added comparison benchmark before/after the removal of regexp Signed-off-by: Frédéric BIDON <fredbi@yahoo.com> push 17 Sep 2023 06:53AM UTC fredbi github
93.78
6209703894 fix-reduce-regexps linting Signed-off-by: Frédéric BIDON <fredbi@yahoo.com> push 16 Sep 2023 09:30PM UTC fredbi github
93.74
See All Builds (145)
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc