Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "fmt"
  5. "log"
  6. "net/http"
  7. "time"
  8.  
  9. "github.com/gorilla/mux"
  10. "github.com/rs/cors"
  11. "github.com/urfave/negroni"
  12. )
  13.  
  14. func catchAllHandler(w http.ResponseWriter, r *http.Request) {
  15. path := r.URL.Path
  16. uri := fmt.Sprintf("http://ryzen2.utv.lokal:9200/%s", path)
  17. request, err := http.NewRequest("GET", uri, r.Body)
  18.  
  19. if err != nil {
  20. fmt.Print(err.Error())
  21. return
  22. }
  23. client := http.Client{}
  24. response, err := client.Do(request)
  25. if err != nil {
  26. fmt.Print(err.Error())
  27. return
  28. }
  29.  
  30. var buffer []byte
  31. _, err = response.Body.Read(buffer)
  32. if err != nil {
  33. fmt.Print(err.Error())
  34. return
  35. }
  36.  
  37. w.Write(buffer)
  38.  
  39. //resp, err := http.Get("http://example.com/")
  40.  
  41. }
  42.  
  43. func main() {
  44. //http.
  45. n := negroni.New()
  46. n.Use(negroni.NewRecovery())
  47. n.Use(negroni.NewLogger())
  48.  
  49. n.Use(cors.New(cors.Options{
  50. AllowedOrigins: []string{"*"},
  51. AllowedMethods: []string{"*"},
  52. AllowedHeaders: []string{"*"},
  53. }))
  54.  
  55. r := mux.NewRouter()
  56. r.PathPrefix("/").HandlerFunc(catchAllHandler)
  57. n.UseHandler(r)
  58.  
  59. srv := &http.Server{
  60. Handler: n,
  61. Addr: "127.0.0.1:3000",
  62. // Good practice: enforce timeouts for servers you create!
  63. WriteTimeout: 15 * time.Second,
  64. ReadTimeout: 15 * time.Second,
  65. }
  66.  
  67. log.Fatal(srv.ListenAndServe())
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement