package main import ( "flag" "fmt" "net/http" "net/url" ) type Route struct { RouteShortName string `json:"route_short_name"` RouteLongName string `json:"route_long_name"` } type Quay struct { ID string `json:"quayid"` Name string `json:"name"` Town string `json:"town"` RoutesOfInterest []Route } func (q Quay) IsInterestingDeparture(d Departure) bool { for _, route := range q.RoutesOfInterest { if (route.RouteShortName == d.RouteShortName) && (route.RouteLongName == d.StopHeadsign) { return true } } return false } func (q Quay) GetBrengUrl() string { param := fmt.Sprintf("{\"quayid\":\"%s\",\"name\":\"%s\",\"town\":\"%s\"}", q.ID, q.Name, q.Town) return fmt.Sprint("https://www.breng.nl/nl/resultaten/halte-informatie/?stop=%s", url.QueryEscape(param)) } var BusClient *http.Client var Quays []Quay = []Quay{} func main() { var port int flag.IntVar(&port, "p", 4444, "The port to start the server on") flag.Parse() BusClient = &http.Client{} serveHttp(port) }