RFC: RestSharp.Maui companion package for platform-specific quirks
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- Calme
- Stack technique
- csharp
- Domaine
- mobile-dev
Piste de recherche
Commencez par examiner l’issue dépendante #2387 et la discussion de conception dans #2168, puis comparez la couverture proposée pour #2168 et #2385. Aucun fichier d’implémentation ni aucun test n’est nommé. Le travail est considéré comme terminé lorsqu’une décision a été prise quant à la création du package compagnon, à son nom, à sa matrice TFM et à son périmètre initial.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Motivation
A growing set of MAUI / mobile-specific gotchas can't be fixed in core RestSharp because:
- Core targets
netstandard2.0/net8.0+and must remain free of iOS / Android workload dependencies. - Platform fixes often require calling into
Foundation/NSURLSession/Java.Nettypes that only exist under TFM-specific workloads (net9.0-ios,net9.0-android, etc.). - Documenting the workarounds (see #2387) helps, but every consumer ends up copy-pasting the same recipe.
A small TFM-targeted companion package could collect these recipes as one-liner extension methods.
Proposed surface
// RestSharp.Maui
public static class RestClientOptionsExtensions {
/// <summary>
/// Configures the underlying handler to suppress NSURLSession's cookie storage,
/// so Set-Cookie headers reach RestSharp's per-request parser intact.
/// Multi-tenant safe — no shared cookie state at any layer.
/// </summary>
public static RestClientOptions UseIosCookieFix(this RestClientOptions options);
// Room for future fixes:
// - UseIosCertificatePinning(...)
// - UseAndroidNetworkSecurityConfig(...)
// - UseEphemeralNetworking()
}
Usage in a MAUI app:
var options = new RestClientOptions(baseUrl).UseIosCookieFix();
Open questions
- Naming.
RestSharp.MauivsRestSharp.Platformsvs separateRestSharp.iOS+RestSharp.Androidpackages. I lean towardRestSharp.Maui— single package, MAUI is the dominant consumer of platform-specific HTTP quirks. - TFM matrix. Probably
net8.0-ios,net9.0-ios,net10.0-ios,net8.0-android,net9.0-android,net10.0-android, plusnetstandard2.0no-op fallbacks so consumers can reference it from shared projects without conditional compilation. - Maintenance burden. Every iOS / Android SDK bump may need a sanity check. Worth it only if 2-3+ platform fixes accumulate. Today we'd ship with just
UseIosCookieFix. - Discovery. Would need a README pointer and a docs section explaining when to reach for it. Risk: people who don't read docs still hit the original bug.
Decision needed
- Ship now with a single helper (
UseIosCookieFix) covering #2168 / #2385? - Wait until 2-3 platform fixes accumulate to justify the package?
- Reject and keep all platform recipes in docs only?
Tracking: depends on #2387 (docs landing first) and follows from the design discussion in #2168.
- Langage dominant
- C#
- Étoiles
- 9.8k
- Forks
- 2.3k
- Merge moyen
- 11 j 21 h
- PR mergées (30 j)
- 2
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de restsharp/RestSharp
-
RestClientOptions.UserAgent missing from requests with useClientFactory: truePeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Default AutomaticDecompression = All routes responses through the Brotli decoder affected by CVE-2026-111497Peut-être pris @K3UL l’a pris il y a 1 jour. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 35/100
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
-
feature-request rfc
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 38/100
-
awaiting-feedback feature-request
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
Toutes les issues de restsharp/RestSharp
Issues similaires
-
area:jobads-cv BE P3
Difficulté 1/5 1-3 heures Accessibilité débutants 74/100
klasolsson81/jobbliggaren#2240 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
k2-fsa/sherpa-onnx#4100 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
unoplatform/uno.check#591 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
weaviate/csharp-client#378 ·
-
area:repo devops elsa 3 prio medium triaged
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
elsa-workflows/elsa-core#9098 ·
Les mainteneurs répondent en général sous 1 jour