diff --git a/controller.go b/controller.go index ffb05df..a7fde84 100755 --- a/controller.go +++ b/controller.go @@ -11,6 +11,7 @@ import ( "log" "io/ioutil" "encoding/json" + "github.com/parnurzeal/gorequest" ) type DefaultMessage struct { @@ -284,6 +285,22 @@ func PostSalvarTime(response http.ResponseWriter, request *http.Request) { } +func Proxy(response http.ResponseWriter, request *http.Request) { + url := request.URL.Query().Get("url") + if url == "" { + response.WriteHeader(http.StatusNoContent) + return + } + responseProxy, by, errs := gorequest.New().Get(url).EndBytes() + if len(errs) > 0 { + response.WriteHeader(http.StatusNoContent) + return + } + response.Header().Set("content-type", responseProxy.Header.Get("content-type")) + response.Write(by) + response.WriteHeader(responseProxy.StatusCode) +} + func responseDefault(w http.ResponseWriter) { w.Header().Set("Access-Control-Allow-Origin", "*") diff --git a/routes.go b/routes.go index e95a2bb..377d903 100755 --- a/routes.go +++ b/routes.go @@ -24,4 +24,6 @@ func BuildRoutes(mux *chi.Mux){ mux.Post("/login/cartolafc", PostLogin) mux.Get("/time/info", GetMeuTime) mux.Post("/time/salvar", PostSalvarTime) + + mux.Get("/proxy", Proxy) } \ No newline at end of file