OLD | NEW |
1 library angular.playback.playback_http; | 1 library angular.playback.playback_http; |
2 | 2 |
3 import 'dart:async'; | 3 import 'dart:async'; |
4 import 'dart:convert' show JSON; | 4 import 'dart:convert' show JSON; |
5 import 'dart:html'; | 5 import 'dart:html'; |
6 | 6 |
7 import 'package:angular/core_dom/module.dart'; | 7 import 'package:angular/core_dom/module_internal.dart'; |
8 import 'package:angular/core/service.dart'; | 8 import 'package:angular/core/annotation_src.dart'; |
9 import 'package:angular/mock/module.dart' as mock; | 9 import 'package:angular/mock/http_backend.dart' as mock; |
10 | 10 |
11 import 'package:angular/playback/playback_data.dart' as playback_data; | 11 import 'package:angular/playback/playback_data.dart' as playback_data; |
12 | 12 |
13 @NgInjectableService() | 13 @Injectable() |
14 class PlaybackHttpBackendConfig { | 14 class PlaybackHttpBackendConfig { |
| 15 |
| 16 String get recorderUrl => '/record'; |
| 17 |
15 requestKey(String url, | 18 requestKey(String url, |
16 {String method, bool withCredentials, String responseType, | 19 {String method, bool withCredentials, String responseType, |
17 String mimeType, Map<String, String> requestHeaders, sendData, | 20 String mimeType, Map<String, String> requestHeaders, sendData, |
18 void onProgress(ProgressEvent e)}) { | 21 void onProgress(ProgressEvent e)}) { |
19 return JSON.encode({ | 22 return JSON.encode({ |
20 "url": url, | 23 "url": url, |
21 "method": method, | 24 "method": method, |
22 "requestHeaders": requestHeaders, | 25 "requestHeaders": requestHeaders, |
23 "data": sendData | 26 "data": sendData |
24 }); | 27 }); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 var key = _config.requestKey(url, | 59 var key = _config.requestKey(url, |
57 method: method, | 60 method: method, |
58 withCredentials: withCredentials, | 61 withCredentials: withCredentials, |
59 responseType: responseType, | 62 responseType: responseType, |
60 mimeType: mimeType, | 63 mimeType: mimeType, |
61 requestHeaders: requestHeaders, | 64 requestHeaders: requestHeaders, |
62 sendData: sendData, | 65 sendData: sendData, |
63 onProgress: onProgress); | 66 onProgress: onProgress); |
64 | 67 |
65 assert(key is String); | 68 assert(key is String); |
66 _prodBackend.request('/record', //TODO make this URL configurable. | 69 _prodBackend.request(_config.recorderUrl, |
67 method: 'POST', sendData: JSON.encode({ | 70 method: 'POST', sendData: JSON.encode({ |
68 "key": key, "data": JSON.encode({ | 71 "key": key, "data": JSON.encode({ |
69 "status": r.status, | 72 "status": r.status, |
70 "headers": r.getAllResponseHeaders(), | 73 "headers": r.getAllResponseHeaders(), |
71 "data": r.responseText}) | 74 "data": r.responseText}) |
72 })); | 75 })); |
73 return r; | 76 return r; |
74 }); | 77 }); |
75 } | 78 } |
76 } | 79 } |
(...skipping 21 matching lines...) Expand all Loading... |
98 | 101 |
99 if (!data.containsKey(key)) throw ["Request is not recorded $key"]; | 102 if (!data.containsKey(key)) throw ["Request is not recorded $key"]; |
100 var playback = data[key]; | 103 var playback = data[key]; |
101 return new Future.value( | 104 return new Future.value( |
102 new mock.MockHttpRequest( | 105 new mock.MockHttpRequest( |
103 playback['status'], | 106 playback['status'], |
104 playback['data'], | 107 playback['data'], |
105 playback['headers'])); | 108 playback['headers'])); |
106 } | 109 } |
107 } | 110 } |
OLD | NEW |