RFC: RestSharp.Maui companion package for platform-specific quirks
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Funcionalidade
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- csharp
- Domínio
- mobile-dev
Direção de pesquisa
Comece revisando a issue dependente #2387 e a discussão de design em #2168; em seguida, compare a cobertura proposta para #2168 e #2385. Nenhum arquivo de implementação ou teste é indicado. Considera-se concluído quando houver uma decisão sobre criar ou não o pacote complementar, seu nome, sua matriz de TFM e seu escopo inicial.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- C#
- Estrelas
- 9.8k
- Forks
- 2.3k
- Merge médio
- 20min
- PRs com merge (30d)
- 1
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de restsharp/RestSharp
-
RestClientOptions.UserAgent missing from requests with useClientFactory: trueTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
feature-request
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
-
Default AutomaticDecompression = All routes responses through the Brotli decoder affected by CVE-2026-111497Talvez livre de novo Um pull request para esta issue foi fechado sem ser mesclado. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 35/100
-
bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
-
feature-request rfc
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 38/100
Todas as issues de restsharp/RestSharp
Issues semelhantes
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 80/100
Unity-Technologies/unity-agent-plugin#118 ·
Mantenedores costumam responder em até 1 dia
-
The Recommended preset turns on Import Uno DSP, which only works with the Material themeTalvez já em andamento @agneszitte assumiu hoje. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 92/100
unoplatform/uno.templates#2388 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 77/100
eyalgolan/statecraft-israel#2732 ·
Mantenedores costumam responder em até 1 dia
-
変換の候補のどれが Zenzai の答えか分からないAberta要トリアージ
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
Mantenedores costumam responder em até 1 dia
-
kind/chore status/draft
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Altinn/altinn-events#1158 ·
Mantenedores costumam responder em até 1 dia