Skip to content

Keep encoded slashes and other escapes intact in URL paths - #1816

Merged
caronc merged 1 commit into
masterfrom
1799-percent-encoding-improvements
Oct 19, 2026
Merged

caronc merged 1 commit into
masterfrom
1799-percent-encoding-improvements

Conversation

@caronc

@caronc caronc commented Oct 18, 2026

Copy link
Copy Markdown
Owner

Description

Related issue (if applicable): #1799

An encoded slash (%2F) in a URL path is no longer turned into a real /, so json://, xml://, form:// and remote attachment/config URLs now reach the exact endpoint you wrote (for example GitLab-style /api/v4/projects/my%2Frepo). Encoded characters in these paths also no longer get encoded a second time when Apprise rebuilds the URL.

Checklist

  • Documentation ticket created (if applicable): n/a
  • The change is tested and works locally.
  • No commented-out code in this PR.
  • No lint errors (use tox -e lint and optionally tox -e format).
  • Test coverage added or updated (use tox -e qa).

Testing

Anyone can help test as follows:

# Create a virtual environment
python3 -m venv apprise

# Change into our new directory
cd apprise

# Activate our virtual environment
source bin/activate

# Install the branch
pip install git+https://github.com/caronc/apprise.git@1799-percent-encoding-improvements

# If you have cloned the branch and have tox available to you:
tox -e apprise -- -vvv -t "Test Title" -b "Test Message" \
    "json://localhost/api/v4/projects/my%2Frepo"

@codecov

codecov Bot commented Oct 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (2f6cffb) to head (d2bcf46).

Additional details and impacted files
@@            Coverage Diff            @@
##            master     #1816   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          252       252           
  Lines        40891     40893    +2     
  Branches      7040      7040           
=========================================
+ Hits         40891     40893    +2     
Files with missing lines Coverage Δ
apprise/attachment/http.py 100.00% <100.00%> (ø)
apprise/config/http.py 100.00% <100.00%> (ø)
apprise/plugins/custom_form.py 100.00% <100.00%> (ø)
apprise/plugins/custom_json.py 100.00% <100.00%> (ø)
apprise/plugins/custom_xml.py 100.00% <100.00%> (ø)
apprise/plugins/enigma2.py 100.00% <100.00%> (ø)
apprise/plugins/flowtriq.py 100.00% <100.00%> (ø)
apprise/plugins/parseplatform.py 100.00% <100.00%> (ø)
apprise/plugins/synology.py 100.00% <100.00%> (ø)
apprise/utils/parse.py 100.00% <100.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@caronc
caronc merged commit 8b89b08 into master Oct 19, 2026
21 checks passed
@caronc
caronc deleted the 1799-percent-encoding-improvements branch October 21, 2026 00:15
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.

1 participant