-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Unable to send post form using http Library because of call of Uri.encodeQueryComponent with 2 parameters instead 1 ... #16131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
This comment was originally written by [email protected] After exchange on #irc channel It seems that pubspec of the http package wasn't updated to require an sdk > 1.1 ! [11:33] <ioull_> Indead the method Uri.encodeQueryComponent is declared with only one parameter but it is called with 2 parameters in http lib |
r30828 introduced usage of encodeQueryComponent with two arguments, but didn't update the pubspec file. https://codereview.chromium.org/102973002/diff/1/pkg/http/lib/src/utils.dart |
We as a team need to talk about how to handle packages' SDK constraints in general. It's not feasible for every package to track down the minimum SDK version that supports every feature used in a package. Added Started label. |
Hi, This is marked as Started. Are we still working on it? Removed Priority-Unassigned label. |
The http package now has an appropriate SDK constraint. Added Fixed label. |
This issue has been moved to dart-lang/http#12. |
This issue was originally filed by [email protected]
What steps will reproduce the problem?
create a dart file like this :
import 'package:http/http.dart' as http;
main() {
http.post('http://httpbin.org/post', body: {'key1': 'value1', 'key2': 'value2'}).then((response) {
print("Response status: ${response.statusCode}");
print("Response body: ${response.body}");
});
}
What is the expected output? What do you see instead?
I expect to get a request with form data ... BUT i got
Unhandled exception:
No static method 'encodeQueryComponent' declared in class 'Uri'.
NoSuchMethodError: incorrect number of arguments passed to method named 'encodeQueryComponent'
Receiver: Type: class 'Uri'
Tried calling: encodeQueryComponent("key1", encoding: Instance of 'Utf8Codec')
Found: encodeQueryComponent(String)
0 _rootHandleUncaughtError.<anonymous closure>.<anonymous closure> (dart:async/zone.dart:677)
1 _asyncRunCallback (dart:async/schedule_microtask.dart:18)
2 _asyncRunCallback (dart:async/schedule_microtask.dart:21)
3 _createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:11)
4 _Timer._createTimerHandler._handleTimeout (timer_impl.dart:151)
5 _Timer._createTimerHandler._handleTimeout (timer_impl.dart:159)
6 _Timer._createTimerHandler._handleTimeout (timer_impl.dart:159)
7 _Timer._createTimerHandler.<anonymous closure> (timer_impl.dart:166)
8 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:93)
What version of the product are you using? On what operating system?
http-0.9.2+1 library
Please provide any additional information below.
The text was updated successfully, but these errors were encountered: