Skip to content

Commit 1dce02e

Browse files
committed
Revert "upgrade to axum 0.6"
This reverts commit 83883be.
1 parent 4f43557 commit 1dce02e

File tree

6 files changed

+42
-71
lines changed

6 files changed

+42
-71
lines changed

Cargo.lock

Lines changed: 6 additions & 38 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,7 @@ iron = "0.6"
9191
router = "0.6"
9292

9393
# axum dependencies
94-
axum = "0.6.0"
95-
axum-extra = "0.4.0"
94+
axum = "0.5.17"
9695
hyper = { version = "0.14.15", default-features = false }
9796
tower = "0.4.11"
9897
tower-service = "0.3.2"

src/test/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -587,7 +587,7 @@ impl TestFrontend {
587587
.unwrap()
588588
.serve(
589589
axum_app
590-
.fallback_service(
590+
.fallback(
591591
build_strangler_service(iron_server.socket)
592592
.expect("could not build strangler service"),
593593
)

src/web/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -493,7 +493,7 @@ pub fn start_web_server(addr: Option<&str>, context: &dyn Context) -> Result<(),
493493
axum::Server::bind(&axum_addr)
494494
.serve(
495495
build_axum_app(context, template_data)?
496-
.fallback_service(build_strangler_service(iron_server.socket)?)
496+
.fallback(build_strangler_service(iron_server.socket)?)
497497
.into_make_service(),
498498
)
499499
.await?;

src/web/routes.rs

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,32 +6,29 @@ use axum::{
66
handler::Handler as AxumHandler, middleware, response::Redirect, routing::get,
77
routing::MethodRouter, Router as AxumRouter,
88
};
9-
use axum_extra::routing::RouterExt;
109
use iron::middleware::Handler;
1110
use router::Router as IronRouter;
1211
use std::{borrow::Cow, collections::HashSet, convert::Infallible};
1312
use tracing::instrument;
1413

1514
#[instrument(skip_all)]
16-
fn get_static<H, T, S, B>(handler: H) -> MethodRouter<S, B, Infallible>
15+
fn get_static<H, T, B>(handler: H) -> MethodRouter<B, Infallible>
1716
where
18-
H: AxumHandler<T, S, B>,
17+
H: AxumHandler<T, B>,
1918
B: Send + 'static + hyper::body::HttpBody,
2019
T: 'static,
21-
S: Clone + Send + Sync + 'static,
2220
{
2321
get(handler).route_layer(middleware::from_fn(|request, next| async {
2422
request_recorder(request, next, Some("static resource")).await
2523
}))
2624
}
2725

2826
#[instrument(skip_all)]
29-
fn get_internal<H, T, S, B>(handler: H) -> MethodRouter<S, B, Infallible>
27+
fn get_internal<H, T, B>(handler: H) -> MethodRouter<B, Infallible>
3028
where
31-
H: AxumHandler<T, S, B>,
29+
H: AxumHandler<T, B>,
3230
B: Send + 'static + hyper::body::HttpBody,
3331
T: 'static,
34-
S: Clone + Send + Sync + 'static,
3532
{
3633
get(handler).route_layer(middleware::from_fn(|request, next| async {
3734
request_recorder(request, next, None).await
@@ -44,64 +41,64 @@ pub(super) fn build_axum_routes() -> AxumRouter {
4441
// must live at the site root:
4542
// https://developers.google.com/search/reference/robots_txt#handling-http-result-codes
4643
// https://support.google.com/webmasters/answer/183668?hl=en
47-
.route_with_tsr(
44+
.route(
4845
"/robots.txt",
4946
get_static(|| async { Redirect::permanent("/-/static/robots.txt") }),
5047
)
51-
.route_with_tsr(
48+
.route(
5249
"/favicon.ico",
5350
get_static(|| async { Redirect::permanent("/-/static/favicon.ico") }),
5451
)
55-
.route_with_tsr(
52+
.route(
5653
"/sitemap.xml",
5754
get_internal(super::sitemap::sitemapindex_handler),
5855
)
59-
.route_with_tsr(
56+
.route(
6057
"/-/sitemap/:letter/sitemap.xml",
6158
get_internal(super::sitemap::sitemap_handler),
6259
)
63-
.route_with_tsr(
60+
.route(
6461
"/about/builds",
6562
get_internal(super::sitemap::about_builds_handler),
6663
)
67-
.route_with_tsr(
64+
.route(
6865
"/about/metrics",
6966
get_internal(super::metrics::metrics_handler),
7067
)
71-
.route_with_tsr("/about", get_internal(super::sitemap::about_handler))
72-
.route_with_tsr(
68+
.route("/about", get_internal(super::sitemap::about_handler))
69+
.route(
7370
"/about/:subpage",
7471
get_internal(super::sitemap::about_handler),
7572
)
76-
.route_with_tsr(
73+
.route(
7774
"/releases",
7875
get_internal(super::releases::recent_releases_handler),
7976
)
80-
.route_with_tsr(
77+
.route(
8178
"/releases/recent/:page",
8279
get_internal(super::releases::recent_releases_handler),
8380
)
84-
.route_with_tsr(
81+
.route(
8582
"/releases/stars",
8683
get_internal(super::releases::releases_by_stars_handler),
8784
)
88-
.route_with_tsr(
85+
.route(
8986
"/releases/stars/:page",
9087
get_internal(super::releases::releases_by_stars_handler),
9188
)
92-
.route_with_tsr(
89+
.route(
9390
"/releases/recent-failures",
9491
get_internal(super::releases::releases_recent_failures_handler),
9592
)
96-
.route_with_tsr(
93+
.route(
9794
"/releases/recent-failures/:page",
9895
get_internal(super::releases::releases_recent_failures_handler),
9996
)
100-
.route_with_tsr(
97+
.route(
10198
"/releases/failures",
10299
get_internal(super::releases::releases_failures_by_stars_handler),
103100
)
104-
.route_with_tsr(
101+
.route(
105102
"/releases/failures/:page",
106103
get_internal(super::releases::releases_failures_by_stars_handler),
107104
)

src/web/strangler.rs

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@ use std::{
2020
task::{Context, Poll},
2121
};
2222

23-
use axum::http::{uri::Authority, Uri};
23+
use axum::{
24+
extract::RequestParts,
25+
http::{uri::Authority, Uri},
26+
};
2427
use tower_service::Service;
2528

2629
/// Service that forwards all requests to another service
@@ -30,7 +33,7 @@ use tower_service::Service;
3033
/// let strangler_svc = StranglerService::new(
3134
/// axum::http::uri::Authority::from_static("127.0.0.1:3333"),
3235
/// );
33-
/// let router = axum::Router::new().fallback_service(strangler_svc);
36+
/// let router = axum::Router::new().fallback(strangler_svc);
3437
/// axum::Server::bind(&"127.0.0.1:0".parse()?)
3538
/// .serve(router.into_make_service())
3639
/// # .with_graceful_shutdown(async {
@@ -87,9 +90,13 @@ impl Service<axum::http::Request<axum::body::Body>> for StranglerService {
8790
async fn forward_call_to_strangled(
8891
http_client: hyper::Client<hyper::client::HttpConnector>,
8992
inner: Arc<InnerStranglerService>,
90-
mut req: axum::http::Request<axum::body::Body>,
93+
req: axum::http::Request<axum::body::Body>,
9194
) -> Result<axum::response::Response, Infallible> {
9295
tracing::debug!("handling a request");
96+
let mut request_parts = RequestParts::new(req);
97+
let req: Result<axum::http::Request<axum::body::Body>, _> = request_parts.extract().await;
98+
let mut req = req.unwrap();
99+
93100
let uri: Uri = {
94101
// Not really anything to do, because this could just not be a websocket
95102
// request.
@@ -138,13 +145,13 @@ mod tests {
138145

139146
#[tokio::test]
140147
async fn can_be_used_as_fallback() {
141-
let router = Router::new().fallback_service(make_svc());
148+
let router = Router::new().fallback(make_svc());
142149
axum::Server::bind(&"0.0.0.0:0".parse().unwrap()).serve(router.into_make_service());
143150
}
144151

145152
#[tokio::test]
146153
async fn can_be_used_for_a_route() {
147-
let router = Router::new().route_service("/api", make_svc());
154+
let router = Router::new().route("/api", make_svc());
148155
axum::Server::bind(&"0.0.0.0:0".parse().unwrap()).serve(router.into_make_service());
149156
}
150157

@@ -197,7 +204,7 @@ mod tests {
197204
});
198205

199206
let background_strangler_handle = tokio::spawn(async move {
200-
let router = Router::new().fallback_service(strangler_svc);
207+
let router = Router::new().fallback(strangler_svc);
201208
axum::Server::from_tcp(strangler_tcp)
202209
.unwrap()
203210
.serve(router.into_make_service())

0 commit comments

Comments
 (0)