Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "log"
- "net/http"
- "time"
- "github.com/gorilla/mux"
- "github.com/rs/cors"
- "github.com/urfave/negroni"
- )
- func catchAllHandler(w http.ResponseWriter, r *http.Request) {
- path := r.URL.Path
- uri := fmt.Sprintf("http://ryzen2.utv.lokal:9200/%s", path)
- request, err := http.NewRequest("GET", uri, r.Body)
- if err != nil {
- fmt.Print(err.Error())
- return
- }
- client := http.Client{}
- response, err := client.Do(request)
- if err != nil {
- fmt.Print(err.Error())
- return
- }
- var buffer []byte
- _, err = response.Body.Read(buffer)
- if err != nil {
- fmt.Print(err.Error())
- return
- }
- w.Write(buffer)
- //resp, err := http.Get("http://example.com/")
- }
- func main() {
- //http.
- n := negroni.New()
- n.Use(negroni.NewRecovery())
- n.Use(negroni.NewLogger())
- n.Use(cors.New(cors.Options{
- AllowedOrigins: []string{"*"},
- AllowedMethods: []string{"*"},
- AllowedHeaders: []string{"*"},
- }))
- r := mux.NewRouter()
- r.PathPrefix("/").HandlerFunc(catchAllHandler)
- n.UseHandler(r)
- srv := &http.Server{
- Handler: n,
- Addr: "127.0.0.1:3000",
- // Good practice: enforce timeouts for servers you create!
- WriteTimeout: 15 * time.Second,
- ReadTimeout: 15 * time.Second,
- }
- log.Fatal(srv.ListenAndServe())
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement