Line data Source code
1 : import 'dart:io';
2 :
3 : import 'package:agattp/src/agattp_response.dart';
4 :
5 : /// A concrete implementation of the Response interface that reads data from
6 : /// Flutter's native HttpClientResponse
7 : class AgattpResponseNative implements AgattpResponse {
8 : final HttpClientResponse _response;
9 : final String _body;
10 :
11 1 : AgattpResponseNative(HttpClientResponse response, String body) :
12 : _response = response,
13 : _body = body;
14 :
15 1 : @override
16 1 : String get body => _body;
17 :
18 1 : @override
19 2 : int get statusCode => _response.statusCode;
20 :
21 1 : @override
22 2 : String get reasonPhrase => _response.reasonPhrase;
23 :
24 1 : @override
25 2 : bool get isRedirect => _response.isRedirect;
26 :
27 1 : @override
28 2 : bool get isPersistentConnection => _response.persistentConnection;
29 :
30 1 : @override
31 2 : HttpHeaders get headers => _response.headers;
32 :
33 1 : @override
34 2 : List<Cookie> get cookies => _response.cookies;
35 : }
36 :
37 : /// A concrete implementation of the Response interface that reads data from
38 : /// Flutter's native HttpClientResponse, mixed with the JsonResponse mixin
39 : class AgattpJsonResponseNative<T> extends AgattpJsonResponse<T> {
40 : final HttpClientResponse _response;
41 : final String _body;
42 :
43 2 : AgattpJsonResponseNative(HttpClientResponse response, String body) :
44 : _response = response,
45 : _body = body;
46 :
47 2 : @override
48 2 : String get body => _body;
49 :
50 2 : @override
51 4 : int get statusCode => _response.statusCode;
52 :
53 2 : @override
54 4 : String get reasonPhrase => _response.reasonPhrase;
55 :
56 2 : @override
57 4 : bool get isRedirect => _response.isRedirect;
58 :
59 1 : @override
60 2 : bool get isPersistentConnection => _response.persistentConnection;
61 :
62 1 : @override
63 2 : HttpHeaders get headers => _response.headers;
64 :
65 1 : @override
66 2 : List<Cookie> get cookies => _response.cookies;
67 : }
|