35 lines
695 B
Go
35 lines
695 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"net/http"
|
|
"net/url"
|
|
|
|
"git.milar.in/milarin/adverr"
|
|
"git.milar.in/milarin/ezhttp"
|
|
)
|
|
|
|
var BaseURL = adverr.Must(url.Parse("http://desktop:30124"))
|
|
|
|
func ProxyRequest(w http.ResponseWriter, r *http.Request) {
|
|
req := ezhttp.Request(
|
|
ezhttp.Method(r.Method),
|
|
ezhttp.URL(BaseURL.JoinPath(r.URL.Path).String()),
|
|
ezhttp.Body(ezhttp.Reader(r.Body)),
|
|
ezhttp.ContentType("application/json"),
|
|
)
|
|
|
|
resp, err := ezhttp.Do(req)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
w.WriteHeader(http.StatusInternalServerError)
|
|
return
|
|
}
|
|
defer resp.Body.Close()
|
|
|
|
w.WriteHeader(resp.StatusCode)
|
|
w.Header().Add("Content-Type", "application/json")
|
|
io.Copy(w, resp.Body)
|
|
}
|