FieldAssist / FieldAssist/fa_flutter_api_client
post() drops responseType — binary (ResponseType.bytes) POSTs silently decoded as JSON
- Linguagem predominante
- Dart
- Estrelas
- 5
- Forks
- 1
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
## Bug
`ApiServiceImpl.post()` does not forward `responseType` to Dio's `Options`, so any POST issued with `ApiOptions(responseType: ResponseType.bytes)` is silently downgraded to default JSON handling. `get()` forwards it correctly; `post()` does not.
- `lib/src/api_service_impl.dart`
- `get()` forwards it (line ~73): `responseType: options?.responseType,`
- `post()` `Options(...)` (lines ~105-109): **missing**.
## Impact
A binary POST (e.g. fetching a zstd-compressed body via POST) comes back decoded as a JSON string, producing `type 'String' is not a subtype of type 'List?'` at the call site. This blocks any consumer that POSTs expecting `ResponseType.bytes`.
## Fix (one line)
Add to the `post` `Options(...)`, mirroring `get()`:
```dart
responseType: options?.responseType,
```
## Verification
Patching the resolved package copy with that single line makes a downstream binary-POST integration test pass end-to-end over real HTTP; reverting it fails again. No other changes needed. A new version cut after this fix would let consumers bump their pin.
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Avaliação
Esta issue ainda não foi avaliada.