Here is the code for http with streaming response
https://github.com/bwu-dart/bwu_docker/blob/0244aa90079e4e8515b5ca412e73b8f858cab809/lib/src/remote_api.dart#L152
On Saturday, January 23, 2016 at 4:46:36 AM UTC+1, Douglas Miller wrote:
>
> I just spent a few hours wrestling with it (the error messages I got
> weren't very meaningful), and it appears Angular 2's injector can't handle
> any class not annotated with @Injectable or another Angular-specific
> annotation. This means Dart's existing non-Angular classes for http
> handling cannot be injected, and thus cannot have mocks injected in their
> place. I can write injectable wrappers easily enough, but that's exactly
> the sort of boilerplate busywork that Angular is supposed to help avoid.
>
> So, I guess I'll write injectable wrappers for now, but having
> angular2/http available in Dart would be much preferred. I suppose
> injection of non-annotated classes that have a suitable constructor might
> also work, but HttpRequest in dart:html seems to be intended for a single
> request and BrowserClient in package:http says it can't do streaming. What
> would be the best way to try to get this handled long term, submit an issue
> report on github?
>
> On Friday, January 22, 2016 at 1:52:40 PM UTC-8, Günter Zöchbauer wrote:
>>
>> I built this code just to get tests running I ported from TypeScript to
>> Dart
>>
>> import 'dart:async' show Future;
>> import 'dart:html' show HttpRequest;
>> import 'dart:convert' show JSON;
>>
>> class Http {
>> Future<Response> get(String uri) async {
>> final HttpRequest req = new HttpRequest()..open('GET', uri);
>> await req.onLoadEnd.first;
>> req.send();
>> return new Response(req);
>> }
>> }
>>
>> class Response {
>> final HttpRequest request;
>> Response(this.request);
>>
>> String text() => request.responseText;
>> dynamic json() => JSON.decode(request.response);
>>
>> }
>>
>> It has only a `get()` method, but other methods are quite similar.
>> You can get inspiration from the TypeScript source about what features to
>> add.
>> For mocking, just extend it `class MockHttp extends Http {` and override
>> the methods with dummy actions.
>>
>> On Friday, January 22, 2016 at 7:42:35 PM UTC+1, Douglas Miller wrote:
>>>
>>> But does that work with Angular's dependency injection? I want to be
>>> able to mock it in tests.
>>>
>>> ...some quick googling says probably yes, I think. I'm new to Dart as
>>> well as Angular2, looks like I should have explored what Dart itself
>>> provides a bit more.
>>>
>>> On Friday, January 22, 2016 at 4:00:53 AM UTC-8, Günter Zöchbauer wrote:
>>>>
>>>> There is no Dart implementation for Http. You can just use what
>>>> `dart:html` or `package:http` provide or create your own wrapper class if
>>>> you want specific functionality.
>>>>
>>>> On Friday, January 22, 2016 at 6:08:35 AM UTC+1, Douglas Miller wrote:
>>>>>
>>>>> The api docs say there's an angular2/http library in JavaScript and
>>>>> TypeScript, but as far as I can tell it doesn't exist in the Dart
>>>>> version.
>>>>> Am I missing something? Is it not implemented yet? Something else?
>>>>>
>>>>> The Dart api docs essentially say "see JavaScript docs" full stop, and
>>>>> I was under the impression that the use of code generation meant all
>>>>> three
>>>>> languages would have all exactly the same Angular features, so I'm a bit
>>>>> surprised and disappointed if this is missing. Searching through the Dart
>>>>> source that pub got for me, angular2/http does not exist and only one
>>>>> class
>>>>> (angular2/src/services/xhr_impl) does anything with http, and that class
>>>>> appears to be intended for internal use only.
>>>>>
>>>>
--
You received this message because you are subscribed to the Google Groups
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.