Skip to content

fix: URLDataTypeSerializer recognizes mixed-case HTTP(S) schemes - #3918

Open
Akhil Gupta (akhil9tiet) wants to merge 1 commit into
microsoft:mainfrom
akhil9tiet:fix/3861-url-scheme-case-insensitive
Open

Akhil Gupta (akhil9tiet) wants to merge 1 commit into
microsoft:mainfrom
akhil9tiet:fix/3861-url-scheme-case-insensitive

Conversation

@akhil9tiet

Copy link
Copy Markdown

Fixes #3861

Description

URLDataTypeSerializer used a case-sensitive startswith check ("http://", "https://") to decide whether a value is a URL or a local path, so mixed-case schemes like HTTPS://... or HtTp://... were misclassified as local files. Hashing and public seed ingestion then raised FileNotFoundError.

The scheme check is now case-insensitive (prompt_text.lower().startswith(("http://", "https://"))) while the original URL spelling is preserved in self.value.

Tests and Documentation

One-line fix; no behavior change for already-lowercase schemes. Verified the commit diff is exactly one changed line.

Copilot AI balanced review requested due to automatic review settings November 4, 2026 06:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

No active review issues remain for the change to recognize mixed-case HTTP(S) URL schemes.

No open issues 🎉

What changed in this PR

Fixes #3861 by recognizing mixed-case HTTP(S) schemes in URLDataTypeSerializer, preventing valid URLs from being treated as local files during hashing and seed ingestion.

Changes:

  • Makes HTTP(S) scheme detection case-insensitive.
  • Preserves the original URL spelling and existing handling of lowercase URLs and local paths.
File Description
pyrit/​memory/​storage/​serializers.py Uses a lowercase comparison to classify HTTP(S) URLs without modifying the stored value.

Review effort: Balanced

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

URLDataTypeSerializer treats mixed-case HTTP(S) schemes as local paths

2 participants