| 
									
										
										
										
											2015-01-21 20:29:02 +01:00
										 |  |  | /* | 
					
						
							|  |  |  |     This file is part of ethereum.js. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ethereum.js is free software: you can redistribute it and/or modify | 
					
						
							|  |  |  |     it under the terms of the GNU Lesser General Public License as published by | 
					
						
							|  |  |  |     the Free Software Foundation, either version 3 of the License, or | 
					
						
							|  |  |  |     (at your option) any later version. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ethereum.js is distributed in the hope that it will be useful, | 
					
						
							|  |  |  |     but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  |     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					
						
							|  |  |  |     GNU Lesser General Public License for more details. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     You should have received a copy of the GNU Lesser General Public License | 
					
						
							|  |  |  |     along with ethereum.js.  If not, see <http://www.gnu.org/licenses/>.
 | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | /** @file httpsync.js | 
					
						
							|  |  |  |  * @authors: | 
					
						
							|  |  |  |  *   Marek Kotewicz <marek@ethdev.com> | 
					
						
							|  |  |  |  *   Marian Oancea <marian@ethdev.com> | 
					
						
							|  |  |  |  * @date 2014 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-27 00:54:21 +01:00
										 |  |  | if (process.env.NODE_ENV !== 'build') { | 
					
						
							|  |  |  |         var XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest; // jshint ignore:line
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-21 20:29:02 +01:00
										 |  |  | var HttpSyncProvider = function (host) { | 
					
						
							|  |  |  |     this.handlers = []; | 
					
						
							| 
									
										
										
										
											2015-01-21 21:12:07 +01:00
										 |  |  |     this.host = host || 'http://localhost:8080'; | 
					
						
							| 
									
										
										
										
											2015-01-21 20:29:02 +01:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | HttpSyncProvider.prototype.send = function (payload) { | 
					
						
							| 
									
										
										
										
											2015-02-03 21:43:39 +01:00
										 |  |  |     //var data = formatJsonRpcObject(payload);
 | 
					
						
							| 
									
										
										
										
											2015-01-21 20:29:02 +01:00
										 |  |  |      | 
					
						
							|  |  |  |     var request = new XMLHttpRequest(); | 
					
						
							|  |  |  |     request.open('POST', this.host, false); | 
					
						
							| 
									
										
										
										
											2015-02-03 21:43:39 +01:00
										 |  |  |     request.send(JSON.stringify(payload)); | 
					
						
							| 
									
										
										
										
											2015-01-21 20:29:02 +01:00
										 |  |  |      | 
					
						
							|  |  |  |     // check request.status
 | 
					
						
							| 
									
										
										
										
											2015-02-03 22:24:17 +01:00
										 |  |  |     var result = request.responseText; | 
					
						
							|  |  |  |     return JSON.parse(result); | 
					
						
							| 
									
										
										
										
											2015-01-21 20:29:02 +01:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module.exports = HttpSyncProvider; | 
					
						
							|  |  |  | 
 |