| 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 |