diff --git a/main.go b/main.go index d485fc9..a90f557 100644 --- a/main.go +++ b/main.go @@ -9,6 +9,7 @@ import ( "local/truckstop/config" "local/truckstop/message" "log" + "net/url" "regexp" "sort" "strings" @@ -311,7 +312,7 @@ func sendJob(job broker.Job) error { } maps := config.Get().Maps if maps.Pickup { - pickup := fmt.Sprintf("%s,%s", job.Pickup.City, job.Pickup.State) + pickup := fmt.Sprintf("%s,%s", url.QueryEscape(job.Pickup.City), job.Pickup.State) uri := fmt.Sprintf(maps.URIFormat, pickup, pickup) log.Printf("sending pickup image: %s", uri) if err := sender.SendImage(uri); err != nil { @@ -319,7 +320,7 @@ func sendJob(job broker.Job) error { } } if maps.Dropoff { - dropoff := fmt.Sprintf("%s,%s", job.Dropoff.City, job.Dropoff.State) + dropoff := fmt.Sprintf("%s,%s", url.QueryEscape(job.Dropoff.City), job.Dropoff.State) uri := fmt.Sprintf(maps.URIFormat, dropoff, dropoff) log.Printf("sending dropoff image: %s", uri) if err := sender.SendImage(uri); err != nil { diff --git a/message/matrix.go b/message/matrix.go index 75593a6..92387e4 100644 --- a/message/matrix.go +++ b/message/matrix.go @@ -119,6 +119,11 @@ func (m Matrix) SendImage(uri string) error { if err != nil { return err } + if response.StatusCode != http.StatusOK { + b, _ := ioutil.ReadAll(response.Body) + response.Body.Close() + return fmt.Errorf("failed to get %s: (%d) %s", uri, response.StatusCode, b) + } b, err := ioutil.ReadAll(response.Body) response.Body.Close() if err != nil {