possible ignore case for rest-routes
This commit is contained in:
parent
26204b4ed7
commit
791518f3be
1 changed files with 11 additions and 2 deletions
|
@ -4,6 +4,7 @@ import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"strings"
|
||||||
"weather-data/storage"
|
"weather-data/storage"
|
||||||
"weather-data/weathersource"
|
"weather-data/weathersource"
|
||||||
|
|
||||||
|
@ -29,7 +30,8 @@ func NewRestAPI(connection string, weatherStorage storage.WeatherStorage, sensor
|
||||||
|
|
||||||
//Start a new Rest-API instance
|
//Start a new Rest-API instance
|
||||||
func (api *weatherRestApi) Start() error {
|
func (api *weatherRestApi) Start() error {
|
||||||
return http.ListenAndServe(api.connection, api.handleRequests())
|
handler := api.handleRequests()
|
||||||
|
return http.ListenAndServe(api.connection, handler) // http.ListenAndServe(api.connection, handler)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (api *weatherRestApi) Close() {
|
func (api *weatherRestApi) Close() {
|
||||||
|
@ -37,7 +39,7 @@ func (api *weatherRestApi) Close() {
|
||||||
|
|
||||||
func (api *weatherRestApi) handleRequests() *mux.Router {
|
func (api *weatherRestApi) handleRequests() *mux.Router {
|
||||||
|
|
||||||
router := mux.NewRouter().StrictSlash(true)
|
router := mux.NewRouter()
|
||||||
|
|
||||||
router.HandleFunc("/", api.homePageHandler)
|
router.HandleFunc("/", api.homePageHandler)
|
||||||
router.HandleFunc("/random", api.randomWeatherHandler)
|
router.HandleFunc("/random", api.randomWeatherHandler)
|
||||||
|
@ -48,6 +50,13 @@ func (api *weatherRestApi) handleRequests() *mux.Router {
|
||||||
return router
|
return router
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func caselessMatcher(next http.Handler) http.Handler {
|
||||||
|
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
r.URL.Path = strings.ToLower(r.URL.Path)
|
||||||
|
next.ServeHTTP(w, r)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
func (api *weatherRestApi) getData(w http.ResponseWriter, r *http.Request) {
|
func (api *weatherRestApi) getData(w http.ResponseWriter, r *http.Request) {
|
||||||
w.Header().Add("content-type", "application/json")
|
w.Header().Add("content-type", "application/json")
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue