Skip to content

fix: accept uppercase schemes - #16544

Merged
kgryte merged 1 commit into
stdlib-js:developfrom
rajanpanth:fix/is-absolute-http-uri-scheme-case
Nov 8, 2026
Merged

kgryte merged 1 commit into
stdlib-js:developfrom
rajanpanth:fix/is-absolute-http-uri-scheme-case

Conversation

@rajanpanth

Copy link
Copy Markdown
Contributor

Description

What is the purpose of this pull request?

This pull request:

  • makes the scheme check in assert/is-absolute-http-uri case-insensitive. URI schemes are case-insensitive (RFC 3986, Section 3.1), and assert/is-uri already accepts an uppercase scheme, but the function only matched lowercase http:// and https://:

    var isAbsoluteHttpURI = require( '@stdlib/assert/is-absolute-http-uri' );
    
    isAbsoluteHttpURI( 'HTTPS://example.com' );
    // returns false (expected true)
    
    isAbsoluteHttpURI( 'Http://example.com/' );
    // returns false (expected true)

    For comparison, new URL( 'HTTPS://example.com' ).protocol is 'https:'.

  • adds a test for uppercase and mixed-case schemes.

Related Issues

Does this pull request have any related issues?

None.

Questions

Any questions for reviewers of this pull request?

No.

Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

  • Only the scheme is affected: the rest of the URI is still validated by assert/is-uri. Non-HTTP(S) schemes (e.g., ftp://, ws://) are still rejected.
  • The new test fails on develop (4 assertions); all existing tests pass unchanged.
  • I ran the package tests directly with Node.js and tape on Windows (as make was not available in my environment); I did not run the full repository lint pipeline locally.

Checklist

Please ensure the following tasks are completed before submitting this pull request.

AI Assistance

When authoring the changes proposed in this PR, did you use any kind of AI assistance?

  • Yes
  • No

If you answered "yes" above, how did you use AI assistance?

  • Code generation (e.g., when writing an implementation or fixing a bug)
  • Test/benchmark generation
  • Documentation (including examples)
  • Research and understanding

Disclosure

If you answered "yes" to using AI assistance, please provide a short disclosure indicating how you used AI assistance. This helps reviewers determine how much scrutiny to apply when reviewing your contribution. Example disclosures: "This PR was written primarily by Claude Code." or "I consulted ChatGPT to understand the codebase, but the proposed changes were fully authored manually by myself.".

This PR was written with the help of Claude Code, which found the issue, drafted the change and test, and ran the verification described above. I reviewed the changes and the test results before submitting.


@stdlib-js/reviewers

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@rajanpanth
rajanpanth requested a review from a team November 8, 2026 03:51
@stdlib-bot stdlib-bot added First-time Contributor A pull request from a contributor who has never previously committed to the project repository. Needs Review A pull request which needs code review. labels Nov 8, 2026
@kgryte kgryte added difficulty: 1 Low degree of difficulty. Should be straightforward to implement and/or resolve. review: 5 and removed Needs Review A pull request which needs code review. labels Nov 8, 2026

@kgryte kgryte left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@stdlib-bot

Copy link
Copy Markdown
Contributor

Coverage Report

Package Statements Branches Functions Lines
assert/is-absolute-http-uri $\\color{green}114/114$
$\\color{green}+100.00\\%$
$\\color{green}4/4$
$\\color{green}+100.00\\%$
$\\color{green}1/1$
$\\color{green}+100.00\\%$
$\\color{green}114/114$
$\\color{green}+100.00\\%$

The above coverage report was generated for the changes in this PR.

@kgryte kgryte changed the title fix: accept uppercase schemes in assert/is-absolute-http-uri fix: accept uppercase schemes Nov 8, 2026
@kgryte
kgryte merged commit 372697e into stdlib-js:develop Nov 8, 2026
81 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

difficulty: 1 Low degree of difficulty. Should be straightforward to implement and/or resolve. First-time Contributor A pull request from a contributor who has never previously committed to the project repository. review: 5

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants