Skip to content

Commit c8935da

Browse files
committed
fix(core, validator): use BufReader for serde_json
1 parent 662ca16 commit c8935da

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

core/src/io/json.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use crate::{Error, Href, Result};
55
#[cfg(feature = "reqwest")]
66
use reqwest::blocking::Response;
77
use serde::de::DeserializeOwned;
8-
use std::fs::File;
8+
use std::{fs::File, io::BufReader};
99

1010
/// Reads any STAC value from a JSON href.
1111
///
@@ -22,7 +22,7 @@ struct JsonReader;
2222

2323
impl<T: Href + DeserializeOwned> Read<T> for JsonReader {
2424
fn read_from_file(file: File) -> Result<T> {
25-
serde_json::from_reader(file).map_err(Error::from)
25+
serde_json::from_reader(BufReader::new(file)).map_err(Error::from)
2626
}
2727
#[cfg(feature = "reqwest")]
2828
fn from_response(response: Response) -> Result<T> {

validate/src/validator.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ use serde_json::Value;
44
use stac::Version;
55
use std::{
66
collections::HashMap,
7+
io::BufReader,
78
sync::Arc,
89
thread::{self, JoinHandle},
910
};
@@ -305,7 +306,7 @@ impl SchemaResolver for Resolver {
305306
"file" => {
306307
if let Ok(path) = url.to_file_path() {
307308
let f = std::fs::File::open(path)?;
308-
let document: Value = serde_json::from_reader(f)?;
309+
let document: Value = serde_json::from_reader(BufReader::new(f))?;
309310
Ok(Arc::new(document))
310311
} else {
311312
Err(Error::InvalidFilePath(url.clone()).into())

0 commit comments

Comments
 (0)