Skip to content

Commit ac4a2b9

Browse files
authored
RequestHandler refactor, remove response from handler (#4664)
Rename `Body` to `Response`, encapsulating everything it did before.
1 parent 6fefef0 commit ac4a2b9

67 files changed

Lines changed: 654 additions & 672 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

app_dart/lib/cocoon_service.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ export 'src/request_handlers/scheduler/vacuum_stale_tasks.dart';
3030
export 'src/request_handlers/update_existing_flaky_issues.dart';
3131
export 'src/request_handlers/vacuum_github_commits.dart';
3232
export 'src/request_handling/authentication.dart';
33-
export 'src/request_handling/body.dart';
3433
export 'src/request_handling/cache_request_handler.dart';
3534
export 'src/request_handling/pubsub.dart';
3635
export 'src/request_handling/pubsub_authentication.dart';
3736
export 'src/request_handling/request_handler.dart';
37+
export 'src/request_handling/response.dart';
3838
export 'src/request_handling/static_file_handler.dart';
3939
export 'src/request_handling/swarming_authentication.dart';
4040
export 'src/service/access_token_provider.dart';

app_dart/lib/src/request_handlers/check_flaky_builders.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ import '../../ci_yaml.dart';
1313
import '../../protos.dart' as pb;
1414
import '../foundation/utils.dart';
1515
import '../request_handling/api_request_handler.dart';
16-
import '../request_handling/body.dart';
1716
import '../request_handling/request_handler.dart';
17+
import '../request_handling/response.dart';
1818
import '../service/big_query.dart';
1919
import '../service/config.dart';
2020
import '../service/github_service.dart';
@@ -56,7 +56,7 @@ final class CheckFlakyBuilders extends ApiRequestHandler {
5656
};
5757

5858
@override
59-
Future<Body> get(Request request) async {
59+
Future<Response> get(Request request) async {
6060
final slug = Config.flutterSlug;
6161
final gitHub = config.createGithubServiceWithToken(
6262
await config.githubOAuthToken,
@@ -126,7 +126,7 @@ final class CheckFlakyBuilders extends ApiRequestHandler {
126126
log.info('${info.name}: Build data inconclusive. Keeping flaky status');
127127
}
128128
}
129-
return Body.forJson(const <String, dynamic>{'Status': 'success'});
129+
return Response.json(const <String, dynamic>{'Status': 'success'});
130130
}
131131

132132
/// A builder should be deflaked if satisfying three conditions.

app_dart/lib/src/request_handlers/create_branch.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import 'dart:async';
66

77
import '../request_handling/api_request_handler.dart';
8-
import '../request_handling/body.dart';
98
import '../request_handling/request_handler.dart';
9+
import '../request_handling/response.dart';
1010
import '../service/branch_service.dart';
1111

1212
/// Creates the flutter/recipes branch to match a flutter/flutter branch.
@@ -28,7 +28,7 @@ final class CreateBranch extends ApiRequestHandler {
2828
static const String engineShaParam = 'engine';
2929

3030
@override
31-
Future<Body> get(Request request) async {
31+
Future<Response> get(Request request) async {
3232
checkRequiredQueryParameters(request, <String>[
3333
branchParam,
3434
engineShaParam,
@@ -38,6 +38,6 @@ final class CreateBranch extends ApiRequestHandler {
3838

3939
await _branchService.branchFlutterRecipes(branch, engineSha);
4040

41-
return Body.empty;
41+
return Response.emptyOk;
4242
}
4343
}

app_dart/lib/src/request_handlers/dart_internal_subscription.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ final class DartInternalSubscription extends SubscriptionHandler {
3333
final FirestoreService _firestore;
3434

3535
@override
36-
Future<Body> post(Request request) async {
36+
Future<Response> post(Request request) async {
3737
final bbv2.Build build;
3838
try {
3939
final decoded = json.decode(message.data!);
@@ -47,7 +47,7 @@ final class DartInternalSubscription extends SubscriptionHandler {
4747

4848
if (!isTaskFromDartInternalBuilder(builderName: build.builder.builder)) {
4949
log.info('Ignoring builder that is not a release builder');
50-
return Body.empty;
50+
return Response.emptyOk;
5151
}
5252

5353
log.info('Checking for existing task in Firestore');
@@ -90,6 +90,6 @@ final class DartInternalSubscription extends SubscriptionHandler {
9090
kDatabase,
9191
);
9292

93-
return Body.forJson(fsTask.toString());
93+
return Response.json(fsTask.toString());
9494
}
9595
}

app_dart/lib/src/request_handlers/file_flaky_issue_and_pr.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ import '../../ci_yaml.dart';
1313
import '../../protos.dart' as pb;
1414
import '../foundation/utils.dart';
1515
import '../request_handling/api_request_handler.dart';
16-
import '../request_handling/body.dart';
1716
import '../request_handling/request_handler.dart';
17+
import '../request_handling/response.dart';
1818
import '../service/big_query.dart';
1919
import '../service/config.dart';
2020
import '../service/github_service.dart';
@@ -37,7 +37,7 @@ final class FileFlakyIssueAndPR extends ApiRequestHandler {
3737
final BigQueryService _bigQuery;
3838

3939
@override
40-
Future<Body> get(Request request) async {
40+
Future<Response> get(Request request) async {
4141
final slug = Config.flutterSlug;
4242
final gitHub = config.createGithubServiceWithToken(
4343
await config.githubOAuthToken,
@@ -93,7 +93,7 @@ final class FileFlakyIssueAndPR extends ApiRequestHandler {
9393
break;
9494
}
9595
}
96-
return Body.forJson(<String, dynamic>{
96+
return Response.json(<String, dynamic>{
9797
'Status': 'success',
9898
'NumberOfCreatedIssuesAndPRs': filedIssueAndPRCount,
9999
});

app_dart/lib/src/request_handlers/flush_cache.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ import 'dart:async';
77
import 'package:meta/meta.dart';
88

99
import '../request_handling/api_request_handler.dart';
10-
import '../request_handling/body.dart';
1110
import '../request_handling/exceptions.dart';
1211
import '../request_handling/request_handler.dart';
12+
import '../request_handling/response.dart';
1313
import '../service/cache_service.dart';
1414
import '../service/config.dart';
1515

@@ -34,7 +34,7 @@ final class FlushCache extends ApiRequestHandler {
3434
static const String cacheKeyParam = 'key';
3535

3636
@override
37-
Future<Body> get(Request request) async {
37+
Future<Response> get(Request request) async {
3838
checkRequiredQueryParameters(request, <String>[cacheKeyParam]);
3939
final cacheKey = request.uri.queryParameters[cacheKeyParam]!;
4040

@@ -48,6 +48,6 @@ final class FlushCache extends ApiRequestHandler {
4848

4949
await _cache.purge(Config.configCacheName, cacheKey);
5050

51-
return Body.empty;
51+
return Response.emptyOk;
5252
}
5353
}

app_dart/lib/src/request_handlers/get_build_status.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ base class GetBuildStatus extends RequestHandler {
2222
static const _kBranchParam = 'branch';
2323

2424
@override
25-
Future<Body> get(Request request) async {
25+
Future<Response> get(Request request) async {
2626
final response = await createResponse(request);
27-
return Body.forJson(response);
27+
return Response.json(response);
2828
}
2929

3030
@protected

app_dart/lib/src/request_handlers/get_build_status_badge.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import 'dart:io';
88
import 'package:cocoon_common/rpc_model.dart' as rpc_model;
99
import 'package:meta/meta.dart';
1010

11-
import '../request_handling/body.dart';
1211
import '../request_handling/request_handler.dart';
12+
import '../request_handling/response.dart';
1313
import 'get_build_status.dart';
1414

1515
/// [GetBuildStatusBadge] returns an SVG representing the current tree status for the given repo.
@@ -45,8 +45,8 @@ final class GetBuildStatusBadge extends GetBuildStatus {
4545
static const green = '#3BB143';
4646

4747
@override
48-
Future<Body> get(Request request) async {
49-
return Body.forString(
48+
Future<Response> get(Request request) async {
49+
return Response.string(
5050
generateSVG(await super.createResponse(request)),
5151
contentType: _imageSvgXml,
5252
);

app_dart/lib/src/request_handlers/get_engine_artifacts_ready.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ final class GetEngineArtifactsReady extends RequestHandler {
3535
static const _paramSha = 'sha';
3636

3737
@override
38-
Future<Body> get(Request request) async {
38+
Future<Response> get(Request request) async {
3939
final commitSha = request.uri.queryParameters[_paramSha];
4040
if (commitSha == null) {
4141
throw const BadRequestException('Missing query parameter: "$_paramSha"');
@@ -59,14 +59,14 @@ final class GetEngineArtifactsReady extends RequestHandler {
5959
}
6060

6161
if (ciStaging.failed > 0) {
62-
return Body.forJson(_GetEngineArtifactsResponse.failed);
62+
return Response.json(_GetEngineArtifactsResponse.failed);
6363
}
6464

6565
if (ciStaging.remaining > 0) {
66-
return Body.forJson(_GetEngineArtifactsResponse.pending);
66+
return Response.json(_GetEngineArtifactsResponse.pending);
6767
}
6868

69-
return Body.forJson(_GetEngineArtifactsResponse.complete);
69+
return Response.json(_GetEngineArtifactsResponse.complete);
7070
}
7171
}
7272

app_dart/lib/src/request_handlers/get_green_commits.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import 'package:cocoon_common/task_status.dart';
88
import 'package:github/github.dart';
99
import 'package:meta/meta.dart';
1010

11-
import '../request_handling/body.dart';
1211
import '../request_handling/request_handler.dart';
12+
import '../request_handling/response.dart';
1313
import '../service/build_status_provider/commit_tasks_status.dart';
1414
import '../service/build_status_service.dart';
1515
import '../service/config.dart';
@@ -45,7 +45,7 @@ final class GetGreenCommits extends RequestHandler {
4545
static const kRepoParam = 'repo';
4646

4747
@override
48-
Future<Body> get(Request request) async {
48+
Future<Response> get(Request request) async {
4949
final repoName =
5050
request.uri.queryParameters[kRepoParam] ?? Config.flutterSlug.name;
5151
final slug = RepositorySlug('flutter', repoName);
@@ -58,7 +58,7 @@ final class GetGreenCommits extends RequestHandler {
5858
branch: branch,
5959
slug: slug,
6060
);
61-
return Body.forJson([
61+
return Response.json([
6262
for (final commit in allCommits.where(_isGreenCommit)) commit.commit.sha,
6363
]);
6464
}

0 commit comments

Comments
 (0)