Skip to content

Fspes 122#57

Merged
MatteoDelOmbra merged 4 commits into
mainfrom
FSPES-122
May 13, 2026
Merged

Fspes 122#57
MatteoDelOmbra merged 4 commits into
mainfrom
FSPES-122

Conversation

@MichalFrends1
Copy link
Copy Markdown
Contributor

@MichalFrends1 MichalFrends1 commented May 13, 2026

Please review my changes :)

Task Update PR template

Review Checklist

  • Task version updated (x.x.0)
  • CHANGELOG.md updated
  • Solution builds
  • Warnings resolved (if possible)
  • Typos resolved
  • Tests cover new code
  • Description how to run tests locally added to README.md (if needed)
  • All tests pass locally

Summary by CodeRabbit

Release Notes

  • New Features

    • Added proxy configuration support with customizable URL, username, and password options across HTTP packages.
    • Added HTTP protocol version selection (HTTP/1.1 and HTTP/2).
    • Added SSL/TLS protocol version selection (TLS 1.2, TLS 1.3, or both).
  • Documentation

    • Updated changelogs documenting new configuration options.

Review Change Stack

Copilot AI and others added 3 commits May 13, 2026 06:23
…uest-options-logic

Replicate Request proxy/protocol option model across DownloadFile, RequestBytes, SendBytes, and SendAndReceiveBytes
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 13, 2026

Warning

Rate limit exceeded

@MichalFrends1 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 45 minutes and 31 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f0e13612-26d3-4732-b5a0-a2bfee566cda

📥 Commits

Reviewing files that changed from the base of the PR and between a393e78 and 4f41605.

📒 Files selected for processing (1)
  • Frends.HTTP.DownloadFile/Frends.HTTP.DownloadFile.Tests/UnitTests.cs

Walkthrough

This PR adds proxy routing and HTTP/SSL protocol version configuration across four HTTP packages. New HttpVersion and SslVersion enums enable explicit protocol selection, while proxy options support routing through HTTP proxies with credential handling. Extension methods configure handlers and request defaults, cache keys account for protocol and proxy variations, and comprehensive tests validate the new functionality.

Changes

HTTP Proxy and Protocol Version Support

Layer / File(s) Summary
Protocol version enums
Frends.HTTP.DownloadFile/Definitions/Enums.cs, Frends.HTTP.RequestBytes/Definitions/HttpVersion.cs, Frends.HTTP.RequestBytes/Definitions/SslVersion.cs, Frends.HTTP.SendAndReceiveBytes/Definitions/HttpVersion.cs, Frends.HTTP.SendAndReceiveBytes/Definitions/SslVersion.cs, Frends.HTTP.SendBytes/Definitions/HttpVersion.cs, Frends.HTTP.SendBytes/Definitions/SslVersion.cs
New HttpVersion enum (Http11, Http20) and SslVersion enum (Default, Tls12, Tls13, Tls12And13) across all packages for protocol selection with XML documentation.
Proxy and protocol options
Frends.HTTP.DownloadFile/Definitions/Options.cs, Frends.HTTP.RequestBytes/Definitions/Options.cs, Frends.HTTP.SendAndReceiveBytes/Definitions/Options.cs, Frends.HTTP.SendBytes/Definitions/Options.cs
All Options classes gain proxy configuration (UseProxy, ProxyUrl, ProxyUsername, ProxyPassword) with UI hints, plus HttpProtocolVersion and SslProtocolVersion properties with defaults and documentation.
Handler and HTTP client configuration
Frends.HTTP.DownloadFile/Extensions.cs, Frends.HTTP.RequestBytes/Extensions.cs, Frends.HTTP.SendAndReceiveBytes/Extensions.cs, Frends.HTTP.SendBytes/Extensions.cs
Extension methods configure HttpClientHandler proxy (including username/password co-requirement validation), set SslProtocols from SslProtocolVersion, and configure HttpClient.DefaultRequestVersion and DefaultVersionPolicy based on HttpProtocolVersion.
Cache key updates
Frends.HTTP.DownloadFile/DownloadFile.cs, Frends.HTTP.RequestBytes/RequestBytes.cs, Frends.HTTP.SendAndReceiveBytes/SendAndReceiveBytes.cs, Frends.HTTP.SendBytes/SendBytes.cs
GetHttpClientCacheKey now includes SslProtocolVersion, HttpProtocolVersion, and proxy settings (UseProxy, ProxyUrl, ProxyUsername, ProxyPassword) to ensure different configurations are cached separately.
Tests, test imports, changelog, and version bumps
Frends.HTTP.\*/\*.Tests/UnitTests.cs, Frends.HTTP.\*/CHANGELOG.md, Frends.HTTP.\*/\*.csproj
Test files add Definitions namespace aliases and two new unit tests per package (proxy handler configuration and protocol configuration validation). Changelogs document new options. Package versions incremented (1.4.0→1.5.0 for DownloadFile/RequestBytes/SendAndReceiveBytes; 1.5.0→1.6.0 for SendBytes).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested reviewers

  • MatteoDelOmbra
  • jefim

Poem

🐰 Four packages aligned with proxy grace,
Protocol versions find their place,
Handlers route through networks wide,
With SSL and HTTP as guide,
The cache stays sharp, no config's lost!

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The PR title 'Fspes 122' is vague and non-descriptive. It appears to be a ticket reference rather than a meaningful summary of the actual changes, which involve adding proxy and protocol version support across multiple HTTP task projects. Replace the ticket reference with a clear, descriptive title that reflects the main change, such as 'Add proxy and protocol version configuration options to HTTP tasks' or 'Support proxy and HTTP/SSL protocol selection in HTTP modules'.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch FSPES-122

Warning

Review ran into problems

🔥 Problems

Stopped waiting for pipeline failures after 30000ms. One of your pipelines takes longer than our 30000ms fetch window to run, so review may not consider pipeline-failure results for inline comments if any failures occurred after the fetch window. Increase the timeout if you want to wait longer or run a @coderabbit review after the pipeline has finished.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (5)
Frends.HTTP.DownloadFile/Frends.HTTP.DownloadFile.Tests/UnitTests.cs (1)

575-596: ⚡ Quick win

Consider enhancing test to verify actual protocol usage and avoid external dependencies.

The test makes a real HTTP request to an external Azure endpoint and only verifies success, without confirming that TLS 1.2/1.3 or HTTP/2 were actually used. Consider:

  • Using a mock HTTP handler (as done in RequestBytes tests) to avoid external dependencies and improve test reliability
  • Verifying the actual protocol version negotiated (e.g., by inspecting handler configuration or response properties)
  • Testing protocol fallback behavior

As per coding guidelines, tests should use mocking where real systems can't be simulated, and the current approach may fail in restricted network environments or if the external endpoint is unavailable.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Frends.HTTP.DownloadFile/Frends.HTTP.DownloadFile.Tests/UnitTests.cs` around
lines 575 - 596, Test RequestShouldSetTls12And13WhenConfigured currently makes a
real HTTP call and only asserts result.Success; replace it with a mocked
HttpMessageHandler (like the handlers used in RequestBytes tests) and invoke
HTTP.DownloadFile with a test handler so no external network is used, then
assert that the request/handler saw the expected SslVersion
(SslVersion.Tls12And13) and HttpVersion (Definitions.HttpVersion.Http20) via the
handler's captured request/connection settings or response properties, and add
additional assertions for fallback behavior if the handler simulates older
protocol negotiation.
Frends.HTTP.RequestBytes/Frends.HTTP.RequestBytes.Tests/UnitTests.cs (2)

404-425: 💤 Low value

Use consistent assertion style throughout the test.

Line 419 uses Assert.That (NUnit modern syntax) while lines 420-424 use ClassicAssert. The rest of the test file consistently uses ClassicAssert. For consistency, consider using ClassicAssert for all assertions in this test method.

♻️ Proposed fix for consistency
-        Assert.That(proxy, Is.Not.Null);
+        ClassicAssert.IsNotNull(proxy);
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Frends.HTTP.RequestBytes/Frends.HTTP.RequestBytes.Tests/UnitTests.cs` around
lines 404 - 425, In HandlerShouldUseConfiguredProxy replace the NUnit-style
Assert.That(proxy, Is.Not.Null) with the project's existing ClassicAssert usage
so all assertions in this test use ClassicAssert; specifically assert the proxy
is not null using ClassicAssert (matching other assertions that validate
handler.UseProxy, proxy.Address, and credentials) so the test consistently uses
ClassicAssert for all assertions.

427-443: ⚡ Quick win

Consider avoiding external HTTP dependencies and verifying actual protocol usage.

The test makes a real HTTP request to https://httpbin.org/anything and only verifies a 200 status code, without confirming that TLS 1.2/1.3 or HTTP/2 were actually negotiated. Consider:

  • Using a mock handler (like MockHttpMessageHandler already available in this test suite) to eliminate the external dependency
  • Verifying the actual protocol version used (e.g., by checking request properties or handler configuration)
  • Testing edge cases like protocol fallback scenarios

As per coding guidelines, tests should use mocking where real systems can't be simulated. The current approach may be unreliable in CI environments with restricted network access.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Frends.HTTP.RequestBytes/Frends.HTTP.RequestBytes.Tests/UnitTests.cs` around
lines 427 - 443, Replace the external call in the
RequestShouldSetTls12And13WhenConfigured test with a mocked HTTP handler:
configure a MockHttpMessageHandler to return a 200 response and capture the
outgoing HttpRequestMessage, then set HTTP.ClientFactory to return an HttpClient
that uses a handler you can inspect; call HTTP.RequestBytes(input, options, ...)
with Options.SslProtocolVersion = SslVersion.Tls12And13 and HttpProtocolVersion
= Definitions.HttpVersion.Http20, and assert that the captured request.Version
equals HTTP/2 and that the handler or HttpClientHandler used to create the
client was configured with SslProtocols including Tls12 (and Tls13 if available)
instead of making a real network call. Ensure the test name
RequestShouldSetTls12And13WhenConfigured, method HTTP.RequestBytes, class
Options and enum SslVersion.Tls12And13 are used to locate and update the test.
Frends.HTTP.SendBytes/Frends.HTTP.SendBytes.Tests/UnitTests.cs (1)

363-386: ⚡ Quick win

Consider isolating external dependency or moving to integration test suite.

This test makes a real HTTPS call to httpbin.org, which introduces several concerns:

  • Requires internet connectivity (may fail locally or in CI environments with restricted network access)
  • Depends on external service availability
  • Slower execution compared to unit tests with mocks
  • Could be flaky due to network issues

While testing actual TLS/protocol negotiation is valuable, consider one of these approaches:

  • Move to a separate integration test suite that runs conditionally
  • Add logic to skip the test gracefully if the endpoint is unreachable
  • Document in the test that it requires internet connectivity
  • If possible, verify protocol configuration via handler inspection instead of making the actual call
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Frends.HTTP.SendBytes/Frends.HTTP.SendBytes.Tests/UnitTests.cs` around lines
363 - 386, The test RequestShouldSetTls12And13WhenConfigured currently makes a
real HTTPS call via HTTP.SendBytes to httpbin.org; instead move this case out of
unit tests into an integration test suite or gate it behind an explicit runtime
flag (e.g. check an environment variable like RUN_INTEGRATION_TESTS or add a
[TestCategory("Integration")] and skip when not set) so local/CI runs won't
require internet; alternatively, replace the external call with a unit-level
approach by constructing the HttpClient via HttpClientFactory and asserting the
configured Options.SslProtocolVersion (SslVersion.Tls12And13) is applied to the
handler before calling HTTP.SendBytes.
Frends.HTTP.SendAndReceiveBytes/Frends.HTTP.SendAndReceiveBytes.Tests/UnitTests.cs (1)

363-386: ⚡ Quick win

Consider isolating external dependency or moving to integration test suite.

This test makes a real HTTPS call to httpbin.org, which introduces several concerns:

  • Requires internet connectivity (may fail locally or in CI environments with restricted network access)
  • Depends on external service availability
  • Slower execution compared to unit tests with mocks
  • Could be flaky due to network issues

While testing actual TLS/protocol negotiation is valuable, consider one of these approaches:

  • Move to a separate integration test suite that runs conditionally
  • Add logic to skip the test gracefully if the endpoint is unreachable
  • Document in the test that it requires internet connectivity
  • If possible, verify protocol configuration via handler inspection instead of making the actual call
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@Frends.HTTP.SendAndReceiveBytes/Frends.HTTP.SendAndReceiveBytes.Tests/UnitTests.cs`
around lines 363 - 386, The test RequestShouldSetTls12And13WhenConfigured
currently performs a real HTTPS call via HTTP.SendAndReceiveBytes which makes it
flaky and unsuitable for unit tests; replace the external call by injecting a
test HttpClientFactory (set HTTP.ClientFactory) that returns an HttpClient
constructed with a custom HttpMessageHandler which captures/validates the
Ssl/TLS configuration and requested HTTP version (or simulates a response), then
call HTTP.SendAndReceiveBytes with the same Options (SslVersion.Tls12And13,
Definitions.HttpVersion.Http20) and assert against the captured handler values;
alternatively move this test into an integration suite and mark it to run
conditionally if network/httpbin.org is reachable.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@Frends.HTTP.DownloadFile/Frends.HTTP.DownloadFile/DownloadFile.cs`:
- Around line 138-140: The cache key builder currently appends plaintext
options.ProxyUsername and options.ProxyPassword directly into the long-lived key
string; replace those raw values with a stable, irreversible fingerprint (e.g.,
a SHA-256 hex or base64 of the combined credentials) before concatenation to
avoid secret exposure. Locate the string construction that appends
$":{options.ProxyUrl}:{options.ProxyUsername}:{options.ProxyPassword}" (in the
DownloadFile cache/key assembly) and compute a short hash of the sensitive parts
(ProxyUsername + ":" + ProxyPassword or an equivalent stable canonicalization)
and append that hash instead of the raw username/password; ensure the hashing
routine is deterministic and collision-resistant and reference it from the key
construction so the key remains stable across runs without exposing secrets.

In `@Frends.HTTP.DownloadFile/Frends.HTTP.DownloadFile/Extensions.cs`:
- Around line 43-60: The proxy setup in Extensions.cs currently ignores an empty
ProxyUrl when options.UseProxy is true; add an explicit validation at the start
of the proxy block (checking options.UseProxy and
string.IsNullOrWhiteSpace(options.ProxyUrl)) and throw an ArgumentException if
ProxyUrl is missing so the API contract is enforced; keep the rest of the block
that creates handler.Proxy = new WebProxy(options.ProxyUrl) and sets credentials
(handler.Proxy.Credentials) unchanged.

---

Nitpick comments:
In `@Frends.HTTP.DownloadFile/Frends.HTTP.DownloadFile.Tests/UnitTests.cs`:
- Around line 575-596: Test RequestShouldSetTls12And13WhenConfigured currently
makes a real HTTP call and only asserts result.Success; replace it with a mocked
HttpMessageHandler (like the handlers used in RequestBytes tests) and invoke
HTTP.DownloadFile with a test handler so no external network is used, then
assert that the request/handler saw the expected SslVersion
(SslVersion.Tls12And13) and HttpVersion (Definitions.HttpVersion.Http20) via the
handler's captured request/connection settings or response properties, and add
additional assertions for fallback behavior if the handler simulates older
protocol negotiation.

In `@Frends.HTTP.RequestBytes/Frends.HTTP.RequestBytes.Tests/UnitTests.cs`:
- Around line 404-425: In HandlerShouldUseConfiguredProxy replace the
NUnit-style Assert.That(proxy, Is.Not.Null) with the project's existing
ClassicAssert usage so all assertions in this test use ClassicAssert;
specifically assert the proxy is not null using ClassicAssert (matching other
assertions that validate handler.UseProxy, proxy.Address, and credentials) so
the test consistently uses ClassicAssert for all assertions.
- Around line 427-443: Replace the external call in the
RequestShouldSetTls12And13WhenConfigured test with a mocked HTTP handler:
configure a MockHttpMessageHandler to return a 200 response and capture the
outgoing HttpRequestMessage, then set HTTP.ClientFactory to return an HttpClient
that uses a handler you can inspect; call HTTP.RequestBytes(input, options, ...)
with Options.SslProtocolVersion = SslVersion.Tls12And13 and HttpProtocolVersion
= Definitions.HttpVersion.Http20, and assert that the captured request.Version
equals HTTP/2 and that the handler or HttpClientHandler used to create the
client was configured with SslProtocols including Tls12 (and Tls13 if available)
instead of making a real network call. Ensure the test name
RequestShouldSetTls12And13WhenConfigured, method HTTP.RequestBytes, class
Options and enum SslVersion.Tls12And13 are used to locate and update the test.

In
`@Frends.HTTP.SendAndReceiveBytes/Frends.HTTP.SendAndReceiveBytes.Tests/UnitTests.cs`:
- Around line 363-386: The test RequestShouldSetTls12And13WhenConfigured
currently performs a real HTTPS call via HTTP.SendAndReceiveBytes which makes it
flaky and unsuitable for unit tests; replace the external call by injecting a
test HttpClientFactory (set HTTP.ClientFactory) that returns an HttpClient
constructed with a custom HttpMessageHandler which captures/validates the
Ssl/TLS configuration and requested HTTP version (or simulates a response), then
call HTTP.SendAndReceiveBytes with the same Options (SslVersion.Tls12And13,
Definitions.HttpVersion.Http20) and assert against the captured handler values;
alternatively move this test into an integration suite and mark it to run
conditionally if network/httpbin.org is reachable.

In `@Frends.HTTP.SendBytes/Frends.HTTP.SendBytes.Tests/UnitTests.cs`:
- Around line 363-386: The test RequestShouldSetTls12And13WhenConfigured
currently makes a real HTTPS call via HTTP.SendBytes to httpbin.org; instead
move this case out of unit tests into an integration test suite or gate it
behind an explicit runtime flag (e.g. check an environment variable like
RUN_INTEGRATION_TESTS or add a [TestCategory("Integration")] and skip when not
set) so local/CI runs won't require internet; alternatively, replace the
external call with a unit-level approach by constructing the HttpClient via
HttpClientFactory and asserting the configured Options.SslProtocolVersion
(SslVersion.Tls12And13) is applied to the handler before calling HTTP.SendBytes.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 30b48ae5-69f6-4670-bd18-915bec41fdba

📥 Commits

Reviewing files that changed from the base of the PR and between 55f550b and a393e78.

📒 Files selected for processing (31)
  • Frends.HTTP.DownloadFile/CHANGELOG.md
  • Frends.HTTP.DownloadFile/Frends.HTTP.DownloadFile.Tests/UnitTests.cs
  • Frends.HTTP.DownloadFile/Frends.HTTP.DownloadFile/Definitions/Enums.cs
  • Frends.HTTP.DownloadFile/Frends.HTTP.DownloadFile/Definitions/Options.cs
  • Frends.HTTP.DownloadFile/Frends.HTTP.DownloadFile/DownloadFile.cs
  • Frends.HTTP.DownloadFile/Frends.HTTP.DownloadFile/Extensions.cs
  • Frends.HTTP.DownloadFile/Frends.HTTP.DownloadFile/Frends.HTTP.DownloadFile.csproj
  • Frends.HTTP.RequestBytes/CHANGELOG.md
  • Frends.HTTP.RequestBytes/Frends.HTTP.RequestBytes.Tests/UnitTests.cs
  • Frends.HTTP.RequestBytes/Frends.HTTP.RequestBytes/Definitions/HttpVersion.cs
  • Frends.HTTP.RequestBytes/Frends.HTTP.RequestBytes/Definitions/Options.cs
  • Frends.HTTP.RequestBytes/Frends.HTTP.RequestBytes/Definitions/SslVersion.cs
  • Frends.HTTP.RequestBytes/Frends.HTTP.RequestBytes/Extensions.cs
  • Frends.HTTP.RequestBytes/Frends.HTTP.RequestBytes/Frends.HTTP.RequestBytes.csproj
  • Frends.HTTP.RequestBytes/Frends.HTTP.RequestBytes/RequestBytes.cs
  • Frends.HTTP.SendAndReceiveBytes/CHANGELOG.md
  • Frends.HTTP.SendAndReceiveBytes/Frends.HTTP.SendAndReceiveBytes.Tests/UnitTests.cs
  • Frends.HTTP.SendAndReceiveBytes/Frends.HTTP.SendAndReceiveBytes/Definitions/HttpVersion.cs
  • Frends.HTTP.SendAndReceiveBytes/Frends.HTTP.SendAndReceiveBytes/Definitions/Options.cs
  • Frends.HTTP.SendAndReceiveBytes/Frends.HTTP.SendAndReceiveBytes/Definitions/SslVersion.cs
  • Frends.HTTP.SendAndReceiveBytes/Frends.HTTP.SendAndReceiveBytes/Extensions.cs
  • Frends.HTTP.SendAndReceiveBytes/Frends.HTTP.SendAndReceiveBytes/Frends.HTTP.SendAndReceiveBytes.csproj
  • Frends.HTTP.SendAndReceiveBytes/Frends.HTTP.SendAndReceiveBytes/SendAndReceiveBytes.cs
  • Frends.HTTP.SendBytes/CHANGELOG.md
  • Frends.HTTP.SendBytes/Frends.HTTP.SendBytes.Tests/UnitTests.cs
  • Frends.HTTP.SendBytes/Frends.HTTP.SendBytes/Definitions/HttpVersion.cs
  • Frends.HTTP.SendBytes/Frends.HTTP.SendBytes/Definitions/Options.cs
  • Frends.HTTP.SendBytes/Frends.HTTP.SendBytes/Definitions/SslVersion.cs
  • Frends.HTTP.SendBytes/Frends.HTTP.SendBytes/Extensions.cs
  • Frends.HTTP.SendBytes/Frends.HTTP.SendBytes/Frends.HTTP.SendBytes.csproj
  • Frends.HTTP.SendBytes/Frends.HTTP.SendBytes/SendBytes.cs

Comment thread Frends.HTTP.DownloadFile/Frends.HTTP.DownloadFile/DownloadFile.cs
Comment thread Frends.HTTP.DownloadFile/Frends.HTTP.DownloadFile/Extensions.cs
@MatteoDelOmbra MatteoDelOmbra merged commit 8a432c9 into main May 13, 2026
7 checks passed
@MatteoDelOmbra MatteoDelOmbra deleted the FSPES-122 branch May 13, 2026 11:26
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.

3 participants