Switched another function call to &str
parent
8057f50f54
commit
e7bd93c3a4
|
@ -14,7 +14,7 @@ const SEARCH_URL: &str = "https://www.ivago.be/nl/particulier/autocomplete/garba
|
|||
/// * `street` - name of the street
|
||||
/// * `city` - city the street is in
|
||||
// TODO find out how to do this async
|
||||
pub fn search_streets(street_name: &String) -> Result<Vec<Street>, FejError> {
|
||||
pub fn search_streets(street_name: &str) -> Result<Vec<Street>, FejError> {
|
||||
let client = reqwest::Client::new();
|
||||
let response = client.get(SEARCH_URL).query(&[("q", street_name)]).send()?;
|
||||
let data: Vec<HashMap<String, String>> = response.json()?;
|
||||
|
@ -24,7 +24,7 @@ pub fn search_streets(street_name: &String) -> Result<Vec<Street>, FejError> {
|
|||
// We iterate over every item and extract the needed data
|
||||
for map in data.iter() {
|
||||
if let Some(value) = map.get("value") {
|
||||
match Street::try_from(value) {
|
||||
match Street::try_from(value.as_str()) {
|
||||
Ok(street) => output.push(street),
|
||||
Err(_) => continue,
|
||||
}
|
||||
|
|
|
@ -28,10 +28,10 @@ impl Serialize for Street {
|
|||
}
|
||||
}
|
||||
|
||||
impl TryFrom<&String> for Street {
|
||||
impl TryFrom<&str> for Street {
|
||||
type Error = ();
|
||||
|
||||
fn try_from(value: &String) -> Result<Self, Self::Error> {
|
||||
fn try_from(value: &str) -> Result<Self, Self::Error> {
|
||||
if let Some(index) = value.find('(') {
|
||||
Ok(Street {
|
||||
name: (value[0..index - 1].trim()).to_string(),
|
||||
|
|
|
@ -13,7 +13,7 @@ pub fn routes() -> Vec<rocket::Route> {
|
|||
|
||||
#[get("/search?<street>")]
|
||||
pub fn route_search_streets(street: String) -> Result<Json<Vec<Street>>, Status> {
|
||||
Ok(Json(search_streets(&street)?))
|
||||
Ok(Json(search_streets(street.as_str())?))
|
||||
}
|
||||
|
||||
#[get("/?<street>&<number>&<start_date>&<end_date>")]
|
||||
|
|
Loading…
Reference in New Issue