Skip to content

Commit 8ed1c76

Browse files
committed
Revert "Move content negotiation to a plugin (#7316)"
This reverts commit 0b62c79.
1 parent fcec3b7 commit 8ed1c76

File tree

18 files changed

+581
-675
lines changed

18 files changed

+581
-675
lines changed

apollo-router/src/axum_factory/tests.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,11 @@ use crate::http_server_factory::HttpServerFactory;
7070
use crate::http_server_factory::HttpServerHandle;
7171
use crate::json_ext::Path;
7272
use crate::metrics::FutureMetricsExt;
73-
use crate::plugins::content_negotiation::MULTIPART_DEFER_ACCEPT_HEADER_VALUE;
74-
use crate::plugins::content_negotiation::MULTIPART_DEFER_CONTENT_TYPE_HEADER_VALUE;
7573
use crate::plugins::healthcheck::Config as HealthCheck;
7674
use crate::router_factory::Endpoint;
7775
use crate::router_factory::RouterFactory;
76+
use crate::services::MULTIPART_DEFER_ACCEPT;
77+
use crate::services::MULTIPART_DEFER_CONTENT_TYPE;
7878
use crate::services::RouterRequest;
7979
use crate::services::RouterResponse;
8080
use crate::services::SupergraphResponse;
@@ -1723,15 +1723,15 @@ async fn deferred_response_shape() -> Result<(), ApolloRouterError> {
17231723
let mut response = client
17241724
.post(&url)
17251725
.body(query.to_string())
1726-
.header(ACCEPT, MULTIPART_DEFER_ACCEPT_HEADER_VALUE)
1726+
.header(ACCEPT, HeaderValue::from_static(MULTIPART_DEFER_ACCEPT))
17271727
.send()
17281728
.await
17291729
.unwrap();
17301730

17311731
assert_eq!(response.status(), StatusCode::OK);
17321732
assert_eq!(
17331733
response.headers().get(CONTENT_TYPE),
1734-
Some(&MULTIPART_DEFER_CONTENT_TYPE_HEADER_VALUE)
1734+
Some(&HeaderValue::from_static(MULTIPART_DEFER_CONTENT_TYPE))
17351735
);
17361736

17371737
let first = response.chunk().await.unwrap().unwrap();
@@ -1783,15 +1783,15 @@ async fn multipart_response_shape_with_one_chunk() -> Result<(), ApolloRouterErr
17831783
let mut response = client
17841784
.post(&url)
17851785
.body(query.to_string())
1786-
.header(ACCEPT, MULTIPART_DEFER_ACCEPT_HEADER_VALUE)
1786+
.header(ACCEPT, HeaderValue::from_static(MULTIPART_DEFER_ACCEPT))
17871787
.send()
17881788
.await
17891789
.unwrap();
17901790

17911791
assert_eq!(response.status(), StatusCode::OK);
17921792
assert_eq!(
17931793
response.headers().get(CONTENT_TYPE),
1794-
Some(&MULTIPART_DEFER_CONTENT_TYPE_HEADER_VALUE)
1794+
Some(&HeaderValue::from_static(MULTIPART_DEFER_CONTENT_TYPE))
17951795
);
17961796

17971797
let first = response.chunk().await.unwrap().unwrap();

apollo-router/src/configuration/snapshots/apollo_router__configuration__tests__schema_generation.snap

Lines changed: 52 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
source: apollo-router/src/configuration/tests.rs
33
expression: "&schema"
4+
snapshot_kind: text
45
---
56
{
67
"$schema": "http://json-schema.org/draft-07/schema#",
@@ -1342,8 +1343,8 @@ expression: "&schema"
13421343
"description": "Telemetry configuration",
13431344
"properties": {
13441345
"apollo": {
1345-
"$ref": "#/definitions/Config14",
1346-
"description": "#/definitions/Config14"
1346+
"$ref": "#/definitions/Config12",
1347+
"description": "#/definitions/Config12"
13471348
},
13481349
"exporters": {
13491350
"$ref": "#/definitions/Exporters",
@@ -1406,26 +1407,6 @@ expression: "&schema"
14061407
"type": "object"
14071408
},
14081409
"Config11": {
1409-
"additionalProperties": false,
1410-
"description": "Configuration for exposing errors that originate from subgraphs",
1411-
"properties": {
1412-
"all": {
1413-
"$ref": "#/definitions/ErrorMode",
1414-
"description": "#/definitions/ErrorMode"
1415-
},
1416-
"subgraphs": {
1417-
"additionalProperties": {
1418-
"$ref": "#/definitions/SubgraphConfig2",
1419-
"description": "#/definitions/SubgraphConfig2"
1420-
},
1421-
"default": {},
1422-
"description": "Overrides global configuration on a per-subgraph basis",
1423-
"type": "object"
1424-
}
1425-
},
1426-
"type": "object"
1427-
},
1428-
"Config12": {
14291410
"additionalProperties": false,
14301411
"description": "Configuration for entity caching",
14311412
"properties": {
@@ -1458,11 +1439,11 @@ expression: "&schema"
14581439
],
14591440
"type": "object"
14601441
},
1461-
"Config13": {
1442+
"Config11": {
14621443
"description": "Configuration for the progressive override plugin",
14631444
"type": "object"
14641445
},
1465-
"Config14": {
1446+
"Config12": {
14661447
"additionalProperties": false,
14671448
"properties": {
14681449
"batch_processor": {
@@ -1538,7 +1519,7 @@ expression: "&schema"
15381519
},
15391520
"type": "object"
15401521
},
1541-
"Config15": {
1522+
"Config13": {
15421523
"additionalProperties": false,
15431524
"properties": {
15441525
"batch_processor": {
@@ -1577,7 +1558,7 @@ expression: "&schema"
15771558
],
15781559
"type": "object"
15791560
},
1580-
"Config16": {
1561+
"Config14": {
15811562
"additionalProperties": false,
15821563
"description": "Prometheus configuration",
15831564
"properties": {
@@ -1602,7 +1583,7 @@ expression: "&schema"
16021583
},
16031584
"type": "object"
16041585
},
1605-
"Config17": {
1586+
"Config15": {
16061587
"additionalProperties": false,
16071588
"properties": {
16081589
"batch_processor": {
@@ -1623,7 +1604,7 @@ expression: "&schema"
16231604
],
16241605
"type": "object"
16251606
},
1626-
"Config18": {
1607+
"Config16": {
16271608
"additionalProperties": false,
16281609
"properties": {
16291610
"batch_processor": {
@@ -1682,7 +1663,7 @@ expression: "&schema"
16821663
],
16831664
"type": "object"
16841665
},
1685-
"Config19": {
1666+
"Config17": {
16861667
"additionalProperties": false,
16871668
"description": "Configuration for the experimental traffic shaping plugin",
16881669
"properties": {
@@ -1868,9 +1849,6 @@ expression: "&schema"
18681849
"type": "object"
18691850
},
18701851
"Config8": {
1871-
"type": "object"
1872-
},
1873-
"Config9": {
18741852
"additionalProperties": false,
18751853
"description": "Configuration for entity caching",
18761854
"properties": {
@@ -1903,6 +1881,26 @@ expression: "&schema"
19031881
],
19041882
"type": "object"
19051883
},
1884+
"Config9": {
1885+
"additionalProperties": false,
1886+
"description": "Configuration for exposing errors that originate from subgraphs",
1887+
"properties": {
1888+
"all": {
1889+
"$ref": "#/definitions/ErrorMode",
1890+
"description": "#/definitions/ErrorMode"
1891+
},
1892+
"subgraphs": {
1893+
"additionalProperties": {
1894+
"$ref": "#/definitions/SubgraphConfig",
1895+
"description": "#/definitions/SubgraphConfig"
1896+
},
1897+
"default": {},
1898+
"description": "Overrides global configuration on a per-subgraph basis",
1899+
"type": "object"
1900+
}
1901+
},
1902+
"type": "object"
1903+
},
19061904
"ConnectorAttributes": {
19071905
"additionalProperties": false,
19081906
"properties": {
@@ -4500,12 +4498,12 @@ expression: "&schema"
45004498
"description": "#/definitions/MetricsCommon"
45014499
},
45024500
"otlp": {
4503-
"$ref": "#/definitions/Config15",
4504-
"description": "#/definitions/Config15"
4501+
"$ref": "#/definitions/Config13",
4502+
"description": "#/definitions/Config13"
45054503
},
45064504
"prometheus": {
4507-
"$ref": "#/definitions/Config16",
4508-
"description": "#/definitions/Config16"
4505+
"$ref": "#/definitions/Config14",
4506+
"description": "#/definitions/Config14"
45094507
}
45104508
},
45114509
"type": "object"
@@ -8208,24 +8206,24 @@ expression: "&schema"
82088206
"description": "#/definitions/TracingCommon"
82098207
},
82108208
"datadog": {
8211-
"$ref": "#/definitions/Config18",
8212-
"description": "#/definitions/Config18"
8209+
"$ref": "#/definitions/Config16",
8210+
"description": "#/definitions/Config16"
82138211
},
82148212
"experimental_response_trace_id": {
82158213
"$ref": "#/definitions/ExposeTraceId",
82168214
"description": "#/definitions/ExposeTraceId"
82178215
},
82188216
"otlp": {
8219-
"$ref": "#/definitions/Config15",
8220-
"description": "#/definitions/Config15"
8217+
"$ref": "#/definitions/Config13",
8218+
"description": "#/definitions/Config13"
82218219
},
82228220
"propagation": {
82238221
"$ref": "#/definitions/Propagation",
82248222
"description": "#/definitions/Propagation"
82258223
},
82268224
"zipkin": {
8227-
"$ref": "#/definitions/Config17",
8228-
"description": "#/definitions/Config17"
8225+
"$ref": "#/definitions/Config15",
8226+
"description": "#/definitions/Config15"
82298227
}
82308228
},
82318229
"type": "object"
@@ -9367,10 +9365,6 @@ expression: "&schema"
93679365
"$ref": "#/definitions/ConnectorsConfig",
93689366
"description": "#/definitions/ConnectorsConfig"
93699367
},
9370-
"content_negotiation": {
9371-
"$ref": "#/definitions/Config7",
9372-
"description": "#/definitions/Config7"
9373-
},
93749368
"coprocessor": {
93759369
"$ref": "#/definitions/Conf4",
93769370
"description": "#/definitions/Conf4"
@@ -9388,8 +9382,8 @@ expression: "&schema"
93889382
"description": "#/definitions/DemandControlConfig"
93899383
},
93909384
"enhanced_client_awareness": {
9391-
"$ref": "#/definitions/Config8",
9392-
"description": "#/definitions/Config8"
9385+
"$ref": "#/definitions/Config7",
9386+
"description": "#/definitions/Config7"
93939387
},
93949388
"experimental_chaos": {
93959389
"$ref": "#/definitions/Chaos",
@@ -9409,8 +9403,8 @@ expression: "&schema"
94099403
"description": "#/definitions/ForbidMutationsConfig"
94109404
},
94119405
"headers": {
9412-
"$ref": "#/definitions/Config10",
9413-
"description": "#/definitions/Config10"
9406+
"$ref": "#/definitions/Config8",
9407+
"description": "#/definitions/Config8"
94149408
},
94159409
"health_check": {
94169410
"$ref": "#/definitions/Config",
@@ -9421,8 +9415,8 @@ expression: "&schema"
94219415
"description": "#/definitions/Homepage"
94229416
},
94239417
"include_subgraph_errors": {
9424-
"$ref": "#/definitions/Config11",
9425-
"description": "#/definitions/Config11"
9418+
"$ref": "#/definitions/Config9",
9419+
"description": "#/definitions/Config9"
94269420
},
94279421
"license_enforcement": {
94289422
"$ref": "#/definitions/LicenseEnforcementConfig",
@@ -9445,16 +9439,16 @@ expression: "&schema"
94459439
"description": "#/definitions/Plugins"
94469440
},
94479441
"preview_entity_cache": {
9448-
"$ref": "#/definitions/Config12",
9449-
"description": "#/definitions/Config12"
9442+
"$ref": "#/definitions/Config10",
9443+
"description": "#/definitions/Config10"
94509444
},
94519445
"preview_file_uploads": {
94529446
"$ref": "#/definitions/FileUploadsConfig",
94539447
"description": "#/definitions/FileUploadsConfig"
94549448
},
94559449
"progressive_override": {
9456-
"$ref": "#/definitions/Config13",
9457-
"description": "#/definitions/Config13"
9450+
"$ref": "#/definitions/Config11",
9451+
"description": "#/definitions/Config11"
94589452
},
94599453
"rhai": {
94609454
"$ref": "#/definitions/Conf7",
@@ -9485,8 +9479,8 @@ expression: "&schema"
94859479
"description": "#/definitions/Tls"
94869480
},
94879481
"traffic_shaping": {
9488-
"$ref": "#/definitions/Config19",
9489-
"description": "#/definitions/Config19"
9482+
"$ref": "#/definitions/Config17",
9483+
"description": "#/definitions/Config17"
94909484
}
94919485
},
94929486
"title": "Configuration",

apollo-router/src/plugins/authorization/authenticated.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -538,7 +538,7 @@ mod tests {
538538
use crate::plugin::test::MockSubgraph;
539539
use crate::plugins::authorization::APOLLO_AUTHENTICATION_JWT_CLAIMS;
540540
use crate::plugins::authorization::authenticated::AuthenticatedVisitor;
541-
use crate::plugins::content_negotiation::ClientRequestAccepts;
541+
use crate::services::router::ClientRequestAccepts;
542542
use crate::services::supergraph;
543543
use crate::spec::query::transform;
544544

0 commit comments

Comments
 (0)