Chromium Code Reviews| Index: pkg/analysis_server/lib/src/domain_analytics.dart |
| diff --git a/pkg/analysis_server/lib/src/domain_analytics.dart b/pkg/analysis_server/lib/src/domain_analytics.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..d1d6b916b982fa69b9d83e30e274455ddb8eae92 |
| --- /dev/null |
| +++ b/pkg/analysis_server/lib/src/domain_analytics.dart |
| @@ -0,0 +1,65 @@ |
| +// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
|
Brian Wilkerson
2017/06/02 15:57:30
Looks like this file needs to be sorted.
devoncarew
2017/06/02 20:17:03
How so? Do we sort members in this project?
Brian Wilkerson
2017/06/02 20:38:56
Yes, we use "Code > Sort Members in Dart File" for
devoncarew
2017/06/02 20:45:35
Done.
|
| +// 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. |
| + |
| +import 'dart:core'; |
| + |
| +import 'package:analysis_server/protocol/protocol.dart'; |
| +import 'package:analysis_server/protocol/protocol_generated.dart'; |
| +import 'package:analysis_server/src/analysis_server.dart'; |
| +import 'package:analysis_server/src/constants.dart'; |
| + |
| +/// Instances of the class [AnalyticsDomainHandler] implement a [RequestHandler] |
| +/// that handles requests in the `analytics` domain. |
| +class AnalyticsDomainHandler implements RequestHandler { |
| + final AnalysisServer server; |
| + |
| + AnalyticsDomainHandler(this.server); |
| + |
| + @override |
| + Response handleRequest(Request request) { |
| + String requestName = request.method; |
| + if (requestName == ANALYTICS_IS_ENABLED) { |
| + return handleIsEnabled(request); |
| + } else if (requestName == ANALYTICS_ENABLE) { |
| + return handleEnable(request); |
| + } else if (requestName == ANALYTICS_SEND_EVENT) { |
| + return handleSendEvent(request); |
| + } else if (requestName == ANALYTICS_SEND_TIMING) { |
| + return handleSendTiming(request); |
| + } |
| + |
| + return null; |
| + } |
| + |
| + // TODO(devoncarew): This implementation is currently mocked out. |
| + bool enabled = false; |
| + |
| + Response handleIsEnabled(Request request) { |
| + // TODO(devoncarew: Implement. |
| + |
| + return new AnalyticsIsEnabledResult(enabled).toResponse(request.id); |
| + } |
| + |
| + Response handleEnable(Request request) { |
| + // TODO(devoncarew: Implement. |
| + AnalyticsEnableParams params = |
| + new AnalyticsEnableParams.fromRequest(request); |
| + |
| + enabled = params.value; |
| + |
| + return new AnalyticsEnableResult().toResponse(request.id); |
| + } |
| + |
| + Response handleSendEvent(Request request) { |
| + // TODO(devoncarew: Implement. |
| + |
| + return new AnalyticsSendEventResult().toResponse(request.id); |
| + } |
| + |
| + Response handleSendTiming(Request request) { |
| + // TODO(devoncarew: Implement. |
| + |
| + return new AnalyticsSendTimingResult().toResponse(request.id); |
| + } |
| +} |