Rename a server api method and cleanup a TODO (#7280)
diff --git a/packages/devtools_app/lib/src/shared/server/server.dart b/packages/devtools_app/lib/src/shared/server/server.dart index daea9b9..96010ba 100644 --- a/packages/devtools_app/lib/src/shared/server/server.dart +++ b/packages/devtools_app/lib/src/shared/server/server.dart
@@ -37,6 +37,7 @@ Response? response; try { + _log.fine('requesting $url'); response = await post(Uri.parse(url)); } catch (_) {}
diff --git a/packages/devtools_shared/CHANGELOG.md b/packages/devtools_shared/CHANGELOG.md index ec1efbf..d937383 100644 --- a/packages/devtools_shared/CHANGELOG.md +++ b/packages/devtools_shared/CHANGELOG.md
@@ -1,5 +1,7 @@ -# 7.0.1-wip +# 8.0.0 * Refactor yaml extension methods. +* **Breaking change:** rename `ServerApi.getCompleted` to `ServerApi.success` and make the +`value` parameter optional. # 7.0.0 * **Breaking change:** remove the `ServerApi.setCompleted` method that was a
diff --git a/packages/devtools_shared/lib/src/server/server_api.dart b/packages/devtools_shared/lib/src/server/server_api.dart index 0b4c1fb..d432bdb 100644 --- a/packages/devtools_shared/lib/src/server/server_api.dart +++ b/packages/devtools_shared/lib/src/server/server_api.dart
@@ -45,31 +45,30 @@ api ??= ServerApi(); final queryParams = request.requestedUri.queryParameters; // TODO(kenz): break this switch statement up so that it uses helper methods - // for each case. Also use [_checkRequiredParameters] and [_encodeResponse] - // helpers. + // for each case. Also use [_checkRequiredParameters] helper. switch (request.url.path) { // ----- Flutter Tool GA store. ----- case apiGetFlutterGAEnabled: // Is Analytics collection enabled? - return api.getCompleted( - json.encode(FlutterUsage.doesStoreExist ? _usage!.enabled : ''), + return _encodeResponse( + FlutterUsage.doesStoreExist ? _usage!.enabled : '', + api: api, ); case apiGetFlutterGAClientId: // Flutter Tool GA clientId - ONLY get Flutter's clientId if enabled is // true. return (FlutterUsage.doesStoreExist) - ? api.getCompleted( - json.encode(_usage!.enabled ? _usage!.clientId : ''), + ? _encodeResponse( + _usage!.enabled ? _usage!.clientId : '', + api: api, ) - : api.getCompleted( - json.encode(''), - ); + : _encodeResponse('', api: api); // ----- DevTools GA store. ----- case apiResetDevTools: _devToolsUsage.reset(); - return api.getCompleted(json.encode(true)); + return _encodeResponse(true, api: api); case apiGetDevToolsFirstRun: // Has DevTools been run first time? To bring up analytics dialog. // @@ -78,16 +77,12 @@ // been updated final isFirstRun = _devToolsUsage.isFirstRun || analytics.shouldShowMessage; - return api.getCompleted( - json.encode(isFirstRun), - ); + return _encodeResponse(isFirstRun, api: api); case apiGetDevToolsEnabled: // Is DevTools Analytics collection enabled? final isEnabled = _devToolsUsage.analyticsEnabled && analytics.telemetryEnabled; - return api.getCompleted( - json.encode(isEnabled), - ); + return _encodeResponse(isEnabled, api: api); case apiSetDevToolsEnabled: // Enable or disable DevTools analytics collection. if (queryParams.containsKey(devToolsEnabledPropertyName)) { @@ -97,14 +92,12 @@ _devToolsUsage.analyticsEnabled = analyticsEnabled; analytics.setTelemetry(analyticsEnabled); } - return api.getCompleted( - json.encode(_devToolsUsage.analyticsEnabled), - ); + return _encodeResponse(_devToolsUsage.analyticsEnabled, api: api); case apiGetConsentMessage: - return api.getCompleted(analytics.getConsentMessage); + return api.success(analytics.getConsentMessage); case apiMarkConsentMessageAsShown: analytics.clientShowedMessage(); - return api.getCompleted(json.encode(true)); + return _encodeResponse(true, api: api); // ----- DevTools survey store. ----- @@ -123,8 +116,7 @@ _devToolsUsage.activeSurvey = theSurveyName; result = true; } - - return api.getCompleted(json.encode(result)); + return _encodeResponse(result, api: api); case apiGetSurveyActionTaken: // Request setActiveSurvey has not been requested. if (_devToolsUsage.activeSurvey == null) { @@ -134,9 +126,7 @@ ); } // SurveyActionTaken has the survey been acted upon (taken or dismissed) - return api.getCompleted( - json.encode(_devToolsUsage.surveyActionTaken), - ); + return _encodeResponse(_devToolsUsage.surveyActionTaken, api: api); // TODO(terry): remove the query param logic for this request. // setSurveyActionTaken should only be called with the value of true, so // we can remove the extra complexity. @@ -154,9 +144,7 @@ _devToolsUsage.surveyActionTaken = json.decode(queryParams[surveyActionTakenPropertyName]!); } - return api.getCompleted( - json.encode(_devToolsUsage.surveyActionTaken), - ); + return _encodeResponse(_devToolsUsage.surveyActionTaken, api: api); case apiGetSurveyShownCount: // Request setActiveSurvey has not been requested. if (_devToolsUsage.activeSurvey == null) { @@ -166,9 +154,7 @@ ); } // SurveyShownCount how many times have we asked to take survey. - return api.getCompleted( - json.encode(_devToolsUsage.surveyShownCount), - ); + return _encodeResponse(_devToolsUsage.surveyShownCount, api: api); case apiIncrementSurveyShownCount: // Request setActiveSurvey has not been requested. if (_devToolsUsage.activeSurvey == null) { @@ -179,23 +165,23 @@ } // Increment the SurveyShownCount, we've asked about the survey. _devToolsUsage.incrementSurveyShownCount(); - return api.getCompleted( - json.encode(_devToolsUsage.surveyShownCount), - ); + return _encodeResponse(_devToolsUsage.surveyShownCount, api: api); // ----- Release notes api. ----- case apiGetLastReleaseNotesVersion: - return api.getCompleted( - json.encode(_devToolsUsage.lastReleaseNotesVersion), + return _encodeResponse( + _devToolsUsage.lastReleaseNotesVersion, + api: api, ); case apiSetLastReleaseNotesVersion: if (queryParams.containsKey(lastReleaseNotesVersionPropertyName)) { _devToolsUsage.lastReleaseNotesVersion = queryParams[lastReleaseNotesVersionPropertyName]!; } - return api.getCompleted( - json.encode(_devToolsUsage.lastReleaseNotesVersion), + return _encodeResponse( + _devToolsUsage.lastReleaseNotesVersion, + api: api, ); // ----- App size api. ----- @@ -207,7 +193,7 @@ if (fileJson == null) { return api.badRequest('No JSON file available at $filePath.'); } - return api.getCompleted(fileJson); + return api.success(fileJson); } return api.badRequest( 'Request for base app size file does not ' @@ -221,7 +207,7 @@ if (fileJson == null) { return api.badRequest('No JSON file available at $filePath.'); } - return api.getCompleted(fileJson); + return api.success(fileJson); } return api.badRequest( 'Request for test app size file does not ' @@ -274,8 +260,9 @@ deeplinkManager, ); case DtdApi.apiGetDtdUri: - return api.getCompleted( - json.encode({DtdApi.uriPropertyName: dtdUri}), + return _encodeResponse( + {DtdApi.uriPropertyName: dtdUri}, + api: api, ); default: return api.notImplemented(); @@ -286,7 +273,7 @@ Object? object, { required ServerApi api, }) { - return api.getCompleted(json.encode(object)); + return api.success(json.encode(object)); } static Map<String, Object?> _wrapWithLogs( @@ -335,8 +322,10 @@ /// without any need to involve the server. shelf.Response logScreenView() => notImplemented(); - /// Return the value of the property. - shelf.Response getCompleted(String value) => shelf.Response.ok(value); + /// A [shelf.Response] for API calls that succeeded. + /// + /// The response optionally contains a single String [value]. + shelf.Response success([String? value]) => shelf.Response.ok(value); /// A [shelf.Response] for API calls that encountered a request problem e.g., /// setActiveSurvey not called. @@ -543,7 +532,7 @@ if (error != null) { return api.serverError(error); } - return api.getCompleted( + return api.success( result[DeeplinkManager.kOutputJsonField]! as String, ); }
diff --git a/packages/devtools_shared/pubspec.yaml b/packages/devtools_shared/pubspec.yaml index 1a7de1b..bd1631a 100644 --- a/packages/devtools_shared/pubspec.yaml +++ b/packages/devtools_shared/pubspec.yaml
@@ -1,7 +1,7 @@ name: devtools_shared description: Package of shared Dart structures between devtools_app, dds, and other tools. -version: 7.0.1-wip +version: 8.0.0 repository: https://github.com/flutter/devtools/tree/master/packages/devtools_shared