GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — fix(lifecycle): keep pinned HTTP egress when only NO_PROXY is set by bodapatisaikrishna · Pull Request #3575 · microsoft/apm Conversation
Contributor
Fixes #3574. What
CI never saw this because GitHub-hosted runners don't export FixThe decision now re-uses requests' own proxy selection for the destination URL instead of truthiness: raw = requests.utils.get_environ_proxies(url, no_proxy=None) or {} if requests.utils.select_proxy(url, raw) is None: return {} return raw
TestsNew
The getproxies source is patched rather than relying on ambient env so the tests stay hermetic on hosts whose system proxy configuration (e.g. macOS SCPreferences) would otherwise inject a mapping. Verification
The behavior change is intentionally narrow: the only hosts whose dispatch path changes are ones exporting
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions_environ_proxies_for treated any truthy get_environ_proxies() result as
corporate egress, but with NO_PROXY exported and no proxy variables set
(containers, CI runners, macOS shells) that mapping is a bare {'no': ...}
entry which selects no proxy for any URL. Dispatch then ran on the
unpinned capturing session instead of the resolve-and-pinned guarded
session, silently dropping the DNS-pin defense, and two TestHttpExecutor
tests failed on every such host because they patch _get_guarded_session.
Confirm the classification with requests' own select_proxy() for the
destination URL: return the env mapping only when a proxy would actually
be used, and {} otherwise (direct egress on the pinned session). Add
regression tests for the no-proxy-only mapping, a genuine scheme mapping,
fail-closed error handling, and an end-to-end dispatch that must stay on
the guarded session when only NO_PROXY is exported.
Fixes microsoft#3574
bodapatisaikrishna
requested review from
Daniel Meppiel (danielmeppiel) and
Sergio Sisternes (sergio-sisternes-epam)
as code owners
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 Changes recommendedReinstallation can leave legacy server entries and stale endpoints active, while proxy tests remain environment-dependent and the required architecture guard is unregistered. 3 open issuesWhat changed in this PRThis PR addresses #3574 by keeping HTTP lifecycle requests on the DNS-pinned session when no proxy applies. It also updates MCP adapters to preserve self-defined server names containing slashes. Changes:
Review effort: Balanced
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions
Comment on lines
+1341
to
+1342
Comment on lines
+179
to
+180
Comment on lines
+195
to
+196
This branch has not been deployedNo deployments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Reviewers
Copilot code review
Copilot
Copilot review effort
Applies to this pull request for everyone.Learn more about Copilot code review.
At least 0 approving reviews are required to merge this pull request. Uh oh!
There was an error while loading. Please reload this page. AssigneesNo one assignedLabels
None yet
ProjectsMilestoneNo milestoneDevelopmentSuccessfully merging this pull request may close these issues. [BUG] HTTP lifecycle dispatch treats a NO_PROXY-only environment as corporate egress and skips the resolve-and-pinned sessionUh oh!
There was an error while loading. Please reload this page. Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later. | ||||||||||||||||||||||||||||||||||||||||||||||||
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |