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