FieldAssist / FieldAssist/fa_flutter_api_client
post() drops responseType — binary (ResponseType.bytes) POSTs silently decoded as JSON
- Ngôn ngữ chính
- Dart
- Star
- 5
- Fork
- 1
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
## 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.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.