Use Accept header for returning JSON instead of plain text

This commit is contained in:
Paul Brinkmeier 2024-07-18 21:41:06 +02:00
parent 56739125b3
commit cc11b626b6

19
main.go
View File

@ -177,12 +177,19 @@ func main() {
return return
} }
for _, d := range departures.Departures { // Does not handle multiple media types
fmt.Fprintf(w, "%2s %-11s %6s\n", if r.Header.Get("Accept") == "application/json" {
d.Symbol, w.Header().Set("Content-Type", "application/json")
d.Direction[:min(11, len(d.Direction))], json.NewEncoder(w).Encode(departures)
d.Leaving, } else {
) // plain text
for _, d := range departures.Departures {
fmt.Fprintf(w, "%2s %-11s %6s\n",
d.Symbol,
d.Direction[:min(11, len(d.Direction))],
d.Leaving,
)
}
} }
}) })
log.Fatal(http.ListenAndServe(":8000", nil)) log.Fatal(http.ListenAndServe(":8000", nil))