[π Dio] sendTimeout cannot be used without a request body to send
shrijanRegmi opened this issue Β· 2 comments
shrijanRegmi commented
Package
dio
Version
5.3.3
Operating-System
Web
Adapter
Default Dio
Output of flutter doctor -v
[!] Flutter (Channel stable, 3.22.0, on macOS 14.5 23F79 darwin-arm64, locale en-NP)
β’ Flutter version 3.22.0 on channel stable at /Users/shrijanregmi/fvm/versions/3.22.0
! Warning: `flutter` on your path resolves to /Users/shrijanregmi/Projects/Flutter/sdk/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/shrijanregmi/fvm/versions/3.22.0. Consider adding /Users/shrijanregmi/fvm/versions/3.22.0/bin to the front of your path.
! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/3.2.6/libexec/bin/dart, which is not inside your current Flutter SDK checkout at /Users/shrijanregmi/fvm/versions/3.22.0. Consider adding /Users/shrijanregmi/fvm/versions/3.22.0/bin to the front of your path.
β’ Upstream repository https://github.com/flutter/flutter.git
β’ Framework revision 5dcb86f68f (7 weeks ago), 2024-05-09 07:39:20 -0500
β’ Engine revision f6344b75dc
β’ Dart version 3.4.0
β’ DevTools version 2.34.3
β’ If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.
[β] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
β’ Android SDK at /Users/shrijanregmi/Library/Android/sdk
β’ Platform android-34, build-tools 33.0.2
β’ ANDROID_HOME = /Users/shrijanregmi/Library/Android/sdk/:/Users/shrijanregmi/Projects/Flutter/sdk/bin/:/Users/shrijanregmi/fvm/versions/3.22.0/bin/:/Library/Frameworks/Python.framework/Versions/3.12/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/shrijanregmi/fvm/versions/3.22.0/bin/:/Users/shrijanregmi/google-cloud-sdk/bin:/Users/shrijanregmi/.nvm/versions/node/v18.16.1/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/shrijanregmi/Library/Android/sdk/platform-tools/:/Users/shrijanregmi/Projects/Flutter/sdk/bin/:/Library/Frameworks/Python.framework/Versions/3.12/bin:/Users/shrijanregmi/.pub-cache/bin:/Users/shrijanregmi/.maestro/bin
β’ Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
β’ Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
β’ All Android licenses accepted.
[β] Xcode - develop for iOS and macOS (Xcode 15.4)
β’ Xcode at /Applications/Xcode.app/Contents/Developer
β’ Build 15F31d
β’ CocoaPods version 1.15.2
[β] Chrome - develop for the web
β’ Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[β] Android Studio (version 2022.2)
β’ Android Studio at /Applications/Android Studio.app/Contents
β’ Flutter plugin can be installed from:
π¨ https://plugins.jetbrains.com/plugin/9212-flutter
β’ Dart plugin can be installed from:
π¨ https://plugins.jetbrains.com/plugin/6351-dart
β’ Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
[β] VS Code (version 1.90.1)
β’ VS Code at /Applications/Visual Studio Code.app/Contents
β’ Flutter extension version 3.90.0
[β] Connected device (4 available)
β’ Shrijanβs iPhone (mobile) β’ 00008130-001420681A90001C β’ ios β’ iOS 17.5.1 21F90
β’ macOS (desktop) β’ macos β’ darwin-arm64 β’ macOS 14.5 23F79 darwin-arm64
β’ Mac Designed for iPad (desktop) β’ mac-designed-for-ipad β’ darwin β’ macOS 14.5 23F79 darwin-arm64
β’ Chrome (web) β’ chrome β’ web-javascript β’ Google Chrome 126.0.6478.63
[β] Network resources
β’ All expected network resources are available.
! Doctor found issues in 1 category.
Dart Version
3.4.0
Steps to Reproduce
- Create a dio instance
- Add sendTimeout = const Duration(seconds: 3)
- Hit a get request
- Observe the error
Expected Result
No error should be there
Actual Result
I get the following error when running dio on WEB. If I run it on Android or iOS, it works fine!
[π Dio] sendTimeout cannot be used without a request body to send
[π Dio] _StackTrace (../dart-sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart 843:28 get current
../packages/dio/src/adapters/browser_adapter.dart 153:22 fetch
../dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54 runBody
../dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 127:5 _async
../packages/dio/src/adapters/browser_adapter.dart 34:29 fetch
../packages/dio/src/dio_mixin.dart 515:52 _dispatchRequest
../dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50 <fn>
../dart-sdk/lib/async/zone.dart 1661:54 runUnary
../dart-sdk/lib/async/future_impl.dart 163:18 handleValue
../dart-sdk/lib/async/future_impl.dart 847:44 handleValueCallback
../dart-sdk/lib/async/future_impl.dart 876:13 _propagateToListeners
../dart-sdk/lib/async/future_impl.dart 652:5 [_completeWithValue]
../dart-sdk/lib/async/future_impl.dart 722:7 callback
../dart-sdk/lib/async/schedule_microtask.dart 40:11 _microtaskLoop
../dart-sdk/lib/async/schedule_microtask.dart 49:5 _startMicrotaskLoop
../dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 181:7 <fn>
)
kuhnroyal commented
Yes, it literally tells you that it doesn't work.
Maatteogekko commented
The problem, at least in my case, is that I set sendTimeout
in the BaseOptions
when initialising dio. I would expect it to be ignored for the requests that do not support it, without printing a warning.