mirror of
https://github.com/rust-unofficial/awesome-rust
synced 2024-11-04 12:00:12 +00:00
Merge pull request #1448 from palfrey/ignore-temporary-redirects
Ignore temporary redirects
This commit is contained in:
commit
eb6f9fc953
@ -159,7 +159,7 @@ See also [Rust — Production](https://www.rust-lang.org/production) organizatio
|
||||
|
||||
* [beerus](https://github.com/keep-starknet-strange/beerus) - Beerus is a trustless StarkNet Light Client, ⚡blazing fast ⚡ and powered by Rust 🦀 [![GitHub Workflow Status](https://github.com/keep-starknet-strange/beerus/actions/workflows/test.yml/badge.svg)](https://github.com/keep-starknet-strange/beerus/actions/workflows/test.yml)
|
||||
* [Bitcoin Satoshi's Vision](https://github.com/brentongunning/rust-sv) [[sv](https://crates.io/crates/sv)] — A Rust library for working with Bitcoin SV .
|
||||
* [cairo](https://github.com/starkware-libs/cairo) - Cairo is the first Turing-complete language for creating provable programs for general computation. This is also the native language of [StarkNet](https://starknet.io), a ZK-Rollup using STARK proofs ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/starkware-libs/cairo/CI?style=flat-square&logo=github)
|
||||
* [cairo](https://github.com/starkware-libs/cairo) - Cairo is the first Turing-complete language for creating provable programs for general computation. This is also the native language of [StarkNet](https://www.starknet.io/), a ZK-Rollup using STARK proofs ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/starkware-libs/cairo/CI?style=flat-square&logo=github)
|
||||
* [cairo-rs](https://github.com/lambdaclass/cairo-rs) — Rust implementation of the Cairo VM [![rust](https://github.com/lambdaclass/cairo-rs/actions/workflows/rust.yml/badge.svg)](https://github.com/lambdaclass/cairo-rs/actions/workflows/rust.yml)
|
||||
* [ChainX](https://github.com/chainx-org/ChainX) — Fully Decentralized Interchain Crypto Asset Management on Polkadot.
|
||||
* [CITA](https://github.com/citahub/cita) — A high performance blockchain kernel for enterprise users.
|
||||
|
13
src/main.rs
13
src/main.rs
@ -324,11 +324,14 @@ fn get_url_core(url: String) -> BoxFuture<'static, (String, Result<(), CheckerEr
|
||||
return (url, Err(CheckerError::TooManyRequests));
|
||||
}
|
||||
|
||||
warn!("Error while getting {}, retrying: {}", url, status);
|
||||
if status.is_redirection() {
|
||||
res = Err(CheckerError::HttpError {status: status.as_u16(), location: ok.headers().get(header::LOCATION).and_then(|h| h.to_str().ok()).map(|x| x.to_string())});
|
||||
break;
|
||||
if status != StatusCode::TEMPORARY_REDIRECT && status != StatusCode::FOUND { // ignore temporary redirects
|
||||
res = Err(CheckerError::HttpError {status: status.as_u16(), location: ok.headers().get(header::LOCATION).and_then(|h| h.to_str().ok()).map(|x| x.to_string())});
|
||||
warn!("Redirect while getting {} - {}", url, status);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
warn!("Error while getting {}, retrying: {}", url, status);
|
||||
res = Err(CheckerError::HttpError {status: status.as_u16(), location: None});
|
||||
continue;
|
||||
}
|
||||
@ -711,9 +714,7 @@ async fn main() -> Result<(), Error> {
|
||||
for (url, link) in results.iter() {
|
||||
if let Working::No(ref err) = link.working {
|
||||
match err {
|
||||
CheckerError::HttpError { status, .. }
|
||||
if *status == 301 || *status == 302 || *status == 404 =>
|
||||
{
|
||||
CheckerError::HttpError { status, .. } if *status == 301 || *status == 404 => {
|
||||
println!("{} {:?}", url, link);
|
||||
failed += 1;
|
||||
continue;
|
||||
|
Loading…
Reference in New Issue
Block a user