add rubygems support
This commit is contained in:
parent
47e66d1cf4
commit
127a10da35
2 changed files with 11 additions and 4 deletions
|
@ -15,7 +15,8 @@ struct HomeContent {
|
|||
async fn main() {
|
||||
let app = Router::new()
|
||||
.route("/", routing::get(home))
|
||||
.route("/:url", routing::get(redirect));
|
||||
.route("/g/:url", routing::get(redirect_rubygems))
|
||||
.route("/:url", routing::get(redirect_cratesio));
|
||||
tracing_subscriber::fmt().init();
|
||||
|
||||
info!("Starting server at http://localhost:3000");
|
||||
|
@ -35,6 +36,10 @@ async fn home() -> impl IntoResponse {
|
|||
Html(template.render(&content))
|
||||
}
|
||||
|
||||
async fn redirect(Path(url): Path<String>) -> impl IntoResponse {
|
||||
async fn redirect_cratesio(Path(url): Path<String>) -> impl IntoResponse {
|
||||
Redirect::permanent(&format!("https://crates.io/crates/{url}"))
|
||||
}
|
||||
|
||||
async fn redirect_rubygems(Path(url): Path<String>) -> impl IntoResponse {
|
||||
Redirect::permanent(&format!("https://rubygems.org/gems/{url}"))
|
||||
}
|
||||
|
|
|
@ -33,13 +33,13 @@ d8P' `P 88P' `d8P' ?88 88P d88 d8P' d8P'
|
|||
</pre>
|
||||
|
||||
<p>
|
||||
cra.tw -- a link shortener for <a href="https://crates.io">crates.io</a>
|
||||
cra.tw -- a link shortener for <a href="https://crates.io">crates.io</a> and <a href="https://rubygems.com">rubygems</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
i refer to npm packages a lot, and i've always found
|
||||
npm.im, a url shortener so that you can type npm.im/mypackage instead of
|
||||
npmjs.com/package/hello, very useful. the same thing goes for crates.io,
|
||||
npmjs.com/package/hello, very useful. the same thing goes for crates.io and rubygems.com,
|
||||
which is unwieldy to type, and i can never remember whether it's crates.io/crate or
|
||||
crates.io/crates (it's the latter)
|
||||
</p>
|
||||
|
@ -48,6 +48,8 @@ d8P' `P 88P' `d8P' ?88 88P d88 d8P' d8P'
|
|||
|
||||
<p>
|
||||
<a href="https://cra.tw/serde">cra.tw/serde</a> ---> <a href="https://crates.io/crates/serde">crates.io/crates/serde</a>
|
||||
<br />
|
||||
<a href="https://cra.tw/g/rails">cra.tw/g/rails</a> ---> <a href="https://rubygems.com/gems/rails">rubygems.com/gems/rails</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
|
Loading…
Add table
Reference in a new issue