From a57aeed4a1507580e4d4a40bdb448b5acee41a3c Mon Sep 17 00:00:00 2001 From: Maximilian Ammann Date: Sun, 23 Jan 2022 22:09:20 +0100 Subject: [PATCH] Check status code --- src/platform/noweb/mod.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/platform/noweb/mod.rs b/src/platform/noweb/mod.rs index 45ab9abc..7c2e388f 100644 --- a/src/platform/noweb/mod.rs +++ b/src/platform/noweb/mod.rs @@ -1,7 +1,7 @@ //! Module which is used target platform is not web related. use async_trait::async_trait; -use reqwest::Client; +use reqwest::{Client, StatusCode}; use reqwest_middleware::{ClientBuilder, ClientWithMiddleware}; use reqwest_middleware_cache::managers::CACacheManager; use reqwest_middleware_cache::{Cache, CacheMode}; @@ -47,7 +47,11 @@ impl HttpFetcher for PlatformHttpFetcher { } async fn fetch(&self, url: &str) -> Result, Error> { - let body = self.client.get(url).send().await?.bytes().await?; + let response = self.client.get(url).send().await?; + if response.status() != StatusCode::OK { + return Err(Error::Network("response code not 200".to_string())); + } + let body = response.bytes().await?; Ok(Vec::from(body.as_ref())) } }