| Index: usage/lib/src/usage_impl_io.dart
|
| diff --git a/usage/lib/src/usage_impl_io.dart b/usage/lib/src/usage_impl_io.dart
|
| deleted file mode 100644
|
| index 66fe0cb86e87b5d1bc43f05392ca2dd9fa69e07e..0000000000000000000000000000000000000000
|
| --- a/usage/lib/src/usage_impl_io.dart
|
| +++ /dev/null
|
| @@ -1,87 +0,0 @@
|
| -// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
|
| -// for details. All rights reserved. Use of this source code is governed by a
|
| -// BSD-style license that can be found in the LICENSE file.
|
| -
|
| -library usage_impl_io;
|
| -
|
| -import 'dart:async';
|
| -import 'dart:convert' show JSON;
|
| -import 'dart:io';
|
| -
|
| -import 'package:path/path.dart' as path;
|
| -
|
| -import 'usage_impl.dart';
|
| -
|
| -String _createUserAgent() {
|
| - // Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; en)
|
| - // Dart/1.8.0-edge.41170 (macos; macos; macos; null)
|
| - String os = Platform.operatingSystem;
|
| - String locale = Platform.environment['LANG'];
|
| - return "Dart/${_dartVersion()} (${os}; ${os}; ${os}; ${locale})";
|
| -}
|
| -
|
| -String _userHomeDir() {
|
| - String envKey = Platform.operatingSystem == 'windows' ? 'APPDATA' : 'HOME';
|
| - String value = Platform.environment[envKey];
|
| - return value == null ? '.' : value;
|
| -}
|
| -
|
| -String _dartVersion() {
|
| - String ver = Platform.version;
|
| - int index = ver.indexOf(' ');
|
| - if (index != -1) ver = ver.substring(0, index);
|
| - return ver;
|
| -}
|
| -
|
| -class IOPostHandler extends PostHandler {
|
| - final String _userAgent;
|
| - final HttpClient mockClient;
|
| -
|
| - IOPostHandler({HttpClient this.mockClient}) : _userAgent = _createUserAgent();
|
| -
|
| - Future sendPost(String url, Map<String, String> parameters) {
|
| - // Add custom parameters for OS and the Dart version.
|
| - parameters['cd1'] = Platform.operatingSystem;
|
| - parameters['cd2'] = 'dart ${_dartVersion()}';
|
| -
|
| - String data = postEncode(parameters);
|
| -
|
| - HttpClient client = mockClient != null ? mockClient : new HttpClient();
|
| - client.userAgent = _userAgent;
|
| - return client.postUrl(Uri.parse(url)).then((HttpClientRequest req) {
|
| - req.write(data);
|
| - return req.close();
|
| - }).then((HttpClientResponse response) {
|
| - response.drain();
|
| - }).catchError((e) {
|
| - // Catch errors that can happen during a request, but that we can't do
|
| - // anything about, e.g. a missing internet conenction.
|
| - });
|
| - }
|
| -}
|
| -
|
| -class IOPersistentProperties extends PersistentProperties {
|
| - File _file;
|
| - Map _map;
|
| -
|
| - IOPersistentProperties(String name) : super(name) {
|
| - String fileName = '.${name.replaceAll(' ', '_')}';
|
| - _file = new File(path.join(_userHomeDir(), fileName));
|
| - _file.createSync();
|
| - String contents = _file.readAsStringSync();
|
| - if (contents.isEmpty) contents = '{}';
|
| - _map = JSON.decode(contents);
|
| - }
|
| -
|
| - dynamic operator[](String key) => _map[key];
|
| -
|
| - void operator[]=(String key, dynamic value) {
|
| - if (value == null) {
|
| - _map.remove(key);
|
| - } else {
|
| - _map[key] = value;
|
| - }
|
| -
|
| - _file.writeAsStringSync(JSON.encode(_map) + '\n');
|
| - }
|
| -}
|
|
|